Création dynamique d'object et evenements associes en 2 methodes (add et index)

Description

Bonjour à tous c'est la première source que je dépose.
Le but étant de créer dynamiquement 2 boutons et d'y attribuer un évènement click pour faire apparaitre le nom du bouton.

Source / Exemple :


Option Explicit
'déclaration des évènements par méthode .ADD
Private WithEvents bouton As CommandButton

Private Sub Form_Load()

'====================== CREATION DYNAMIQUE PAR ADD ========================

'pour faire 2 147 483 647 controles maximums  ;=)
Dim i As Long
   
'faire 3 controles
For i = 0 To 2
   'création dynamique
   Set bouton = Controls.Add("VB.CommandButton", "nom_du_bouton" & i)
   'propriétés des boutons
   With bouton
      .Visible = True
      .Width = 4000
      .Caption = "Bouton crée dynamiquement avec .ADD " & i
      .Top = 500 + 1000 * i
      .Left = 1000
   End With

Next i

'affiche le nom des controls dans fenetre debug
For i = 0 To Me.Controls.Count - 1 Step 1
    Debug.Print Me.Controls(i).Name
Next

'====================== CREATION DYNAMIQUE PAR INDEX =======================

'un controls label1(0) est placé initialement sur la feuille
Dim j As Long
 
'creation de 2 boutons en plus du premier crée manuellement
For j = 1 To 2
    Load Me.Label1(j)
    Me.Label1(j).Left = Me.Label1(j - 1).Left
    Me.Label1(j).Top = Me.Label1(j - 1).Top + 1000
    Me.Label1(j).Caption = "Label1(" & Trim(CStr(j)) & ") crée par INDEX" 'suppression des espaces pour le nom
    Me.Label1(j).Visible = True
Next j
 
End Sub

'problème l'évènement ne porte que sur le dernier bouton crée et c'est ça mon problème
'y a t il une solution en VB6 (je sais qu'on peut le faire en VB.net)
Private Sub bouton_Click()

MsgBox (bouton.Name)

End Sub

'pas de problème pour l'évènement gérer par index
Private Sub Label1_Click(Index As Integer)

MsgBox (Label1(Index).Name)

End Sub

Conclusion :


Je n'arrive pas à créer un événement distinct pour chaque bouton par la méthode ADD
Merci de faire des commentaire afin d'améliorer la cette source ;=)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.