Récupérer le numéro de la case contenant le bouton - VB/VBA/VBS - Programmation
Marsh Posté le 04-12-2014 à 13:33:45
Bonjour !
Le réflexe à avoir pour s'en sortir dans ce genre de cas lorsqu'une solution existe - et ne prenant pas plus de temps
que cela a dû te prendre pour créér un compte sur ce forum puis rédiger ta problématique ! - est de consulter
l'aide VBA intégrée à portée de clic : il suffit donc de parcourir les propriétés de l'objet concerné …
Par exemple, si le bouton est un objet Shape, voir alors par exemple l'aide de sa propriété BottomRightCell,
son nom étant assez explicite ! Et en lisant bien cette aide, tu verras aussi une autre propriété aussi parlante …
Donc une fois l'objet cellule trouvée, ne reste plus qu'à en extraire sa ligne, là c'est le B-A-BA d'Excel
mais cela peut servir à d'autres : utiliser la propriété Row …
Marsh Posté le 04-12-2014 à 15:24:44
Bonjour Marc,
Si je vous pose la question c'est que je n'ai pas trouvé la réponse. Que ce soit dans l'aide d'Excel ou sur internet.
Le temps de poser ma question m'a en effet pris plus de temps que chacunes de ces recherches...
Personne n'a la réponse à ma question donc?
Cordialement
Marsh Posté le 04-12-2014 à 17:36:01
ReplyMarsh Posté le 04-12-2014 à 17:42:00
Marc L a écrit : |
Vous n'avez rien d'autre à faire que de polluer les forums M. Marc Levy?
Marsh Posté le 04-12-2014 à 17:46:14
Ce sont les profiteurs de votre genre qui polluent les forums ‼
Commencer par lire les règles de ce forum comme celles de l'autre forum où a été doublée cette question !
Marsh Posté le 04-12-2014 à 18:14:06
Salut
Pour ta question j'en sais rien, mais juste une idee qui pourrait peut-etre te simplifier la vie: pourquoi ne pas utiliser qu'un seul bouton, mais en modifiant ta macro pour qu'elle utilise la cellule en cours de selection pour faire son update? Du coup tu n'aurais qu'a selectionner la cellule a rafrachir puis cliquer sur l'unique bouton, que tu pourrais par exemple mettre en haut d'une feuille dans une ligne "freezee" qui apparait toujours. Au besoin, tu peux ajouter quelques verifs dans la macro pour t'assurer que ta cellule selectionnee est OK pour se faire rafraichir (ex: bonne colonne, etc.) histoire de pas "rafraichir" une mauvaise cellule par erreur/inattention. Tu pourrais aussi gerer dans la macro la selection d'une plage de cellules a rafrachir, etc.
A+
Marsh Posté le 05-12-2014 à 08:58:32
Bonjour lasnoufle!
Merci pour ton conseil, ça m'évitera en effet de modifier la macro à chaque création de ligne et de devoir dupliquer le bouton ;-)
Je vais faire comme ça pour le moment. Si je trouve la solution je vous en ferais part.
Bonne journée!
Marsh Posté le 04-12-2014 à 10:26:33
Bonjour à tous!
Je suis débutante en VBA et j'aurai besoin de votre lumière sur un problème de bouton (contrôle de formulaire) ;-)
Je souhaite modifier la valeur d'une case en cliquant sur un bouton (j'ai déjà réalisé le code correspondant). J'ai cependant beaucoup de lignes sur les quelles je dois modifier les valeurs de ces cases.
Pour le moment je copie/colle la macro, change le numéro de ligne dans le code et applique cette macro au nouveau bouton.
De manière à ne pas devoir copier/coller la macro et renseigner systématiquement son nouveau nom dans les propriétés du bouton je voudrais rajouter une ligne de code qui récupérerait le numéro de la case sur laquelle le bouton est situé, et donc ainsi le numéro de ligne. Je n'aurais alors plus qu'à attribuer une variable à ce numéro de ligne et l'utiliser dans le reste de mon code de façon à ce que je n'ai plus qu'à copier/coller le bouton (avec la macro générique attribuée dessus), le positionner sur la ligne souhaitée et ... cliquer pour changer ma valeur!
Quelqu'un sait-il comment récupérér ce maudit numéro de ligne??
Merci d'avance et bonne journée!
PS : j'utilise Excel 2010