A voir également:
- [VBA] obtenir le nom de l'objet appelant
- Vente objet occasion entre particulier - Guide
- Trouver un numéro de portable avec un nom ✓ - Forum Mobile
- Téléchargez cette image pour trouver le nom du fichier. il correspond au nom de cette loutre. comment s'appelle-t-elle ? - Forum Windows
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
- Trouver un nom avec une adresse ✓ - Forum Loisirs / Divertissements
6 réponses
Bonjour,
Pour repondre à ta question
Private Sub btn_test1_Click()
'nom du boutton
MsgBox btn_test1.Name
'si tu veux connaitre le texte du bouton
MsgBox btn_test1.Caption
End Sub
Salut.
Pour repondre à ta question
Private Sub btn_test1_Click()
'nom du boutton
MsgBox btn_test1.Name
'si tu veux connaitre le texte du bouton
MsgBox btn_test1.Caption
End Sub
Salut.
Merci pour ta réponse
Mais en fait, je veux pouvoir me débrouiller sans avoir le nom de l'objet, c'est à dire sans le btn_test1. Faire en quelque sorte comme si je ne connaissais pas le bouton qui a appelé cet événement.
J'ai peut être mal formulé ma question, j'en suis désolé, mais je voudrais récupérer l'objet appelant, en faisant comme si je ne le connaissait pas.
Imaginons que je ne connaisse pas le bouton ayant appelé cette méthode, comment puis-je le récupérer ? comment savoir quel objet est l'appelant ?
J'ai du mal à l'expliquer désolé :).
Mais en fait, je veux pouvoir me débrouiller sans avoir le nom de l'objet, c'est à dire sans le btn_test1. Faire en quelque sorte comme si je ne connaissais pas le bouton qui a appelé cet événement.
J'ai peut être mal formulé ma question, j'en suis désolé, mais je voudrais récupérer l'objet appelant, en faisant comme si je ne le connaissait pas.
Imaginons que je ne connaisse pas le bouton ayant appelé cette méthode, comment puis-je le récupérer ? comment savoir quel objet est l'appelant ?
J'ai du mal à l'expliquer désolé :).
C'est bon j'ai trouvé une autre solution pour mon projet. Merci quand même :)
Cela dit je suis quand même curieux de savoir si il y a une réponse à ma question ^^
Donc si parmis vous quelqu'un peut répondre qu'il n'hésite pas même si le problème est réglé.
Merci et à la prochaine.
Cela dit je suis quand même curieux de savoir si il y a une réponse à ma question ^^
Donc si parmis vous quelqu'un peut répondre qu'il n'hésite pas même si le problème est réglé.
Merci et à la prochaine.
Bonjour,
Le seul moyen que je connaisse est de cibler par la position du bouton.
Lupin
Le seul moyen que je connaisse est de cibler par la position du bouton.
Option Explicit Dim nbrBouton As Long, Boucle As Long ' Private Sub cmd_Charger_Click() nbrBouton = ActiveSheet.OLEObjects.Count For Boucle = 1 To nbrBouton If (ActiveSheet.OLEObjects.Item(Boucle).Left = 60) Then MsgBox ActiveSheet.OLEObjects.Item(Boucle).Name End If Next Boucle End Sub ' Private Sub cmd_Execute_Click() Dim nbrBouton As Long, Boucle As Long nbrBouton = ActiveSheet.OLEObjects.Count For Boucle = 1 To nbrBouton If (ActiveSheet.OLEObjects.Item(Boucle).Left = 120) Then MsgBox ActiveSheet.OLEObjects.Item(Boucle).Name End If Next Boucle End Sub '
Lupin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Pour connaitre le bouton appelant, WiWeb a donnée la solution la plus juste.
Pour regrouper tout les évènements Click des boutons j'utiliserai un module de classe.
'----------------------------------------------------
'Dans le module ThisWorkbook
'----------------------------------------------------
'Dans un module
'----------------------------------------------------
''Dans un module de classe nommée Class1
En espérant ne pas m'être tromper.
Caribou
Pour connaitre le bouton appelant, WiWeb a donnée la solution la plus juste.
Me.ActiveControl
Pour regrouper tout les évènements Click des boutons j'utiliserai un module de classe.
'----------------------------------------------------
'Dans le module ThisWorkbook
PrivateSub Workbook_Open() 'boucle sur chaque bouton pour les ajouter à la Class1 lors de l'ouverture du classeur Dim Ctrl As Control Set Collect = New Collection For Each Ctrl In Me.Controls If TypeOf Ctrl Is MSForms.CommandButton Then 'ajout de l'objet dans la classe Set Cl = New Class1 Set Cl.CmdBtn = Ctrl Collect.Add Cl End If Next Ctrl End Sub
'----------------------------------------------------
'Dans un module
Public Cl As Class1 Public Collect As Collection
'----------------------------------------------------
''Dans un module de classe nommée Class1
Public WithEvents CmdBtn As MSForms.CommandButton Private Sub CmdBtn_Click() Me.ActiveControl 'code de l'évènement End Sub
En espérant ne pas m'être tromper.
Caribou