VBA Appel procédure dont le nom est variable

GrandCactus -  
 GrandCactus -
Bonjour à tous,

Je bloque sur un problème, peut être que certains pourront m'aider.
J'ai créé un userform dont un contrôle créé des boutons de manière dynamique. J'arrive à affecter une procédure à ces boutons tant que leur nom est "figé".
Cependant leur nom contient une variable i et je ne sais pas comment appeler la procédure appliquée à ces boutons (lorsque je clique sur eux).

Voici le code en bref :
Private Sub Monpremiercontrole ()
Set Monbouton = Me.Controls.Add("Forms.CommandButton.1", "Monbouton" & i, True)
End Sub

Private Sub Monbouton & i _Click()
la procédure déclenchée par le bouton Monbouton & i
End Sub

En fait je ne sais pas comment intégrer le i dans le nom de ma dernière private sub

Je ne sais pas si je suis bien clair... Merci de votre aide car là je suis bloqué...

4 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Voir le tuto ici
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
2
GrandCactus
 
Merci beaucoup Lermite222, je regarde tout ca en détail
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
Y a t-il une raison particulière pour avoir les boutons en dynamique ?, ce serait plus simple de les coller dans le design du départ ?
Ensuite Employer une collection de classe pour avoir les Click (et autre)

A+
0
GrandCactus
 
Merci de votre réponse, en effet il est nécessaire que les boutons soient en dynamique, notamment car à terme il y en aura une grande quantité qui nuira à la lisibilité du userform.

Avez vous une idée du code nécessaire pour appeler chaque bouton créé dynamiquement (contenant donc une variable i) à partir d'une private sub _click () ?

Je ne trouve rien pouvant m'aider sur le sujet...
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
L'approche que tu fais ne pourra pas fonctionner, Excel ne reconnaitra pas les événement de Bouton1 (par exemple), il ne reconnaîtra que les objets créer soit la variable objet Monbouton
Pour réaliser ce système tu dois employer des collections de classe et collection d'objets, et ce n'est pas bien facile à comprendre.
Je viens de terminer un exemple, je le poste d'ici une heure ou deux.
0