Recuperer dans une variable le nom du bouton actionné

man8

XLDnaute Nouveau
Bonjour a tous,

J'ai créé un boutton (Type Active X) sur une feuille. Ce boutton execute une macro, dans laquelle, je recupere dans des variables respectivement la ligne et la colonne de mon bouton (j'en ai besoin plus tard dans mon programme).

Ci dessous ma macro:

Public Sub CommandButton1_Click()
Dim ligne_active As Long
Dim colonne_active As Long
ligne_active = CommandButton1.TopLeftCell.Row
colonne_active = CommandButton1.TopLeftCell.Column
Sheets("List").Cells(1, 5).Value = ligne_active
Sheets("List").Cells(1, 6).Value = colonne_active
referencer.Show​
End Sub


Jusqu'ici, tout va bien.

Le probleme, c'est que je dois copier ce bouton environ 200 fois dans ma feuille. Le boutton de depart s'appelle CommandButton1 mais à chaque fois que je j'en crée un nouveau, il va automatiquement s'appeller CommandButton2 puis CommandButton3...

Or, comme dans mon code CommandButton1 est ecrit en dur, je dois modifier le nom près de 200 fois....:(

N'y a-t-il pas moyen d'ecrire qqchose comme:

bouton_actif = ActiveControl.Name
ligne_active = bouton_actif.TopLeftCell.Row
colonne_active = bouton_actif.TopLeftCell.Column

ou encore,

ligne_active = AcvtiveControl.TopLeftCell.Row
colonne_active = AcvtiveControl.TopLeftCell.Column

(Sachant que ce que je viens d'ecrire ne marche pas!!!)


Je sais que cette question a plus ou moins déjà été posée sur ce forum (https://www.excel-downloads.com/threads/nom-du-controle-actif-dune-feuille.111140/)
mais aucun elememt ne permet de faire avancer mon probleme.

Je me permet donc de relancer le debat.

Merci par avance

Man8
 
Dernière édition:

RENAUDER

Nous a quitté
Repose en paix
Re : Recuperer dans une variable le nom du bouton actionné

Bonjour,

J'ai trouvé une méthode et peut-être que ça te vas ?

Code:
Private Sub CommandButton1_Click()
    Valeur = 1
    Call test(Valeur)
End Sub
Private Sub CommandButton2_Click()
    Valeur = 2
    Call test(Valeur)
End Sub
Sub test(Valeur)
    Dim ligne_active As Long
    Dim colonne_active As Long
    ligne_active = ActiveSheet.Shapes("CommandButton" & Valeur).TopLeftCell.Row
    colonne_active = ActiveSheet.Shapes("CommandButton" & Valeur).TopLeftCell.Column
    Sheets("List").Cells(1, 5).Value = ligne_active
    Sheets("List").Cells(1, 6).Value = colonne_active
    referencer.Show
End Sub
 
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Re : Recuperer dans une variable le nom du bouton actionné

Bonjour Man8,
Une idée, supprimer tous les boutons et agir sur le double-click d'une cellule
Cela serait plus simple à gérer....
Mettre le code en Worksheet de l'onglet

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Sheets("Feuil1").Cells(1, 5).Value = Target.Row
Sheets("Feuil1").Cells(1, 6).Value = Target.Column
Cancel = True
referencer.Show
End Sub
 

ChTi160

XLDnaute Barbatruc
Re : Recuperer dans une variable le nom du bouton actionné

Salut man8
Bonjour le Fil
Bonjour le Forum

en pièce jointe (bien que plusieurs solutions aient été données)

une version avec l'utilisation d'un module de classe

il suffit d'ajouter des boutons dans la feuille
le clic renvoie pour l'exemple la ligne et la colonne où se trouve le bouton
Bonne fin de journée
 

man8

XLDnaute Nouveau
Re : Recuperer dans une variable le nom du bouton actionné

Bonjour,

Merci a tous pour vos réponses.
Chti160, Ta solution correspond exactememnt a ce que je voulais.
Je vais neanmoins retenir celle de Youky car cela simplifie encore plus ce que j'ai l'intention de faire. Je ne connaissais pas cette commande "double click".

Encore merci. Ce forum est genial

@+

Man8
 

Discussions similaires

Statistiques des forums

Discussions
312 370
Messages
2 087 679
Membres
103 636
dernier inscrit
SeidoLx