Identifier un bouton créé dynamiquement

FredeAub

XLDnaute Nouveau
Bonjour,
Dans le prg joint, je créé 2 boutons dynamiquement (dans Feuil2)qui appelle une fonction.
Est il possible d'identifier dans la fonction le bouton qui a déclenché l'appel ?
Merci.
 

Pièces jointes

  • essaiBouton.xlsm
    22.3 KB · Affichages: 46

FredeAub

XLDnaute Nouveau
Re : Identifier un bouton créé dynamiquement

Bonjour,
Apres un essai, Application.Caller retourne 'Bouton XX' avec XX un nombre (ds mon cas 29).
Je ne comprends pas trop a quoi correspond ce nombre.
Comment faire le lien entre ce nombre et le nom des 2 boutons que j'ai créé ?
Merci.
 

FredeAub

XLDnaute Nouveau
Re : Identifier un bouton créé dynamiquement

Dans le programme fourni, je crée 2 boutons, l'un s'appelle 'Bouton1' l'autre 'Bouton2'. Ces 2 boutons appellent la même fonction 'AfficheMessage'.
Quand je clique ensuite sur ces 2 boutons, dans ma fonction AfficheMessage j'aimerais identifier le bouton qui a été cliqué en récupérant son nom, or, avec Application.caller j'obtiens 'bouton 29' et 'bouton30'. Comment savoir que bouton29 correspond au 'Bouton1' et que bouton30 correspond au 'Bouton2'. A terme je risque d'avoir plusieurs boutons créés dynamiquement et se serait plus simple pour moi d'identifier le bouton par son nom.
J'espère avoir été plus clair.
Merci.
 

Pierrot93

XLDnaute Barbatruc
Re : Identifier un bouton créé dynamiquement

Re,

avec Application.caller j'obtiens 'bouton 29' et 'bouton30'.

bah... c'est leur nom... A noter que dans ton ficfhier les boutons se superposent à l'infini.... Peut être qu'avant d'en créer d'autres, il serait bon de supprimer ceux déjà existant.... enfin c'est juste un avis.... Après voir également le but final.....
 

Pierrot93

XLDnaute Barbatruc
Re : Identifier un bouton créé dynamiquement

Re,

perso je rajouterais tout de même ceci au code...
Code:
Private Sub Worksheet_Activate()
Feuil2.Buttons.Delete
AjouterBouton "bouton1", 200
AjouterBouton "bouton2", 300
End Sub

afin d'éviter l'accumation de boutons qui finira par "peser" sur ton classeur....
 

job75

XLDnaute Barbatruc
Re : Identifier un bouton créé dynamiquement

Bonjour FredeAub, salut Pierrot :)

Bien vu AlternativeText, je ne connaissais pas.

Noter qu'on peut aussi utiliser DrawingObjects et la propriété Text :

Code:
Sub AfficheMessage()
MsgBox "Appel macro: " & Feuil2.DrawingObjects(Application.Caller).Text
End Sub
A+
 

Discussions similaires

  • Question
Microsoft 365 Boutons
Réponses
28
Affichages
613

Statistiques des forums

Discussions
312 502
Messages
2 089 024
Membres
104 007
dernier inscrit
Monvieux