Récupérer le numéro de la case contenant le bouton

Récupérer le numéro de la case contenant le bouton - VB/VBA/VBS - Programmation

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

Reply

Marsh Posté le 04-12-2014 à 10:26:33   

Reply

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
  

Reply

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


Message édité par sarah1990 le 04-12-2014 à 16:08:00
Reply

Marsh Posté le 04-12-2014 à 17:36:01    

 
           Tu en as pourtant une, suffit de la lire et d'appliquer ‼
 

Reply

Marsh Posté le 04-12-2014 à 17:42:00    

Marc L a écrit :

 
           Tu en as pourtant une, suffit de la lire et d'appliquer ‼
 


Vous n'avez rien d'autre à faire que de polluer les forums M. Marc Levy?

Reply

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 !
 

Reply

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+


Message édité par lasnoufle le 04-12-2014 à 18:17:40

---------------
C'était vraiment très intéressant.
Reply

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!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed