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 ;=)
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.