Bonjour,
Je cherche comment créer des Textbox dynamiquement, c'est à dire si j'ai :
my_var = 4 alors Textbox1, Textbox2, Textbox3, Textbox4 généré sur mon UserForm.
J'ai pas trouvé, mais je cherche activement![]()
Bonjour,
Je cherche comment créer des Textbox dynamiquement, c'est à dire si j'ai :
my_var = 4 alors Textbox1, Textbox2, Textbox3, Textbox4 généré sur mon UserForm.
J'ai pas trouvé, mais je cherche activement![]()
J'ai réussi à trouver des info intérressantes seulement maintenant je me demande comment linker un bouton avec un evènement click() par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 Private Sub UserForm_Initialize() Dim BT_Suivant As CommandButton Dim BT_Precedant As CommandButton Dim TB1 As Variant Dim TB2 As Variant Set BT_Suivant = UF_DynamiqueForm.Controls.Add("Forms.CommandButton.1", "BT_Suivant", True) Set BT_Precedant = UF_DynamiqueForm.Controls.Add("Forms.CommandButton.1", "BT_Precedant", True) Set TB1 = UF_DynamiqueForm.Controls.Add("Forms.Textbox.1", "TextBox1", True) Set TB2 = UF_DynamiqueForm.Controls.Add("Forms.Textbox.1", "Textbox2", True) 'bouton précedant BT_Precedant.Caption = "<Précedant" BT_Precedant.Top = 10 BT_Precedant.Left = 10 BT_Precedant.Width = 100 'bouton suivant BT_Suivant.Caption = "Suivant>" BT_Suivant.Top = 10 BT_Suivant.Left = 110 BT_Suivant.Width = 100 'textbox TB1.Top = 60 TB1.Left = 10 TB1.Width = 100 'textbox2 TB2.Top = 90 TB2.Left = 10 TB2.Width = 100 End Sub Private Sub BT_Suivant_Click() MsgBox "suivant" End Sub Private Sub BT_Precedant_Click() MsgBox "precedant" End Sub
Salut,
Tu peux essayer ceci :
Tu peux faire la même chose pour les Label, OptionButton, ... en remplaçant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Dim collect As Collection Dim Obj As Object Dim i as Integer Set collect = New Collection For i = 1 To 4 Set Obj = UserForm1.Controls.Add("forms.textbox.1") With Obj .Name = "Toto" & i 'nom de ta textbox (toto1, toto2, toto3, ...) .Left = 100 'position par rapport au rebord gauche de l'UserForm .Top = 20 * i + 10 'position par rapport au haut de l'UserForm .Width = 20 'largeur de la zone d'écriture .Height = 15 'hauteur de la zone d'écriture 'tu peux rajouter ou enlever des propriétés de l'objet End With Next
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set Obj = UserForm1.Controls.Add("forms.textbox.1")
par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set Obj = UserForm1.Controls.Add("forms.label.1")
J'espère que ça va fonctionner![]()
Par contre, pour les boutons comment les lier avec les évènement click() ?
Est ce que tu peux expliciter.Par contre, pour les boutons comment les lier avec les évènement click() ?
Ça à marcher ?
J'arrive à créer mes boutons
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Set BT_Suivant = UF_DynamiqueForm.Controls.Add("Forms.CommandButton.1", "BT_Suivant", True) Set BT_Precedant = UF_DynamiqueForm.Controls.Add("Forms.CommandButton.1", "BT_Precedant", True) 'bouton précedant BT_Precedant.Caption = "<Précedant" BT_Precedant.Top = UF_DynamiqueForm.Height - 50 BT_Precedant.Left = 10 BT_Precedant.Width = 100 'bouton suivant BT_Suivant.Caption = "Suivant>" BT_Suivant.Top = UF_DynamiqueForm.Height - 50 BT_Suivant.Left = UF_DynamiqueForm.Width - 110 BT_Suivant.Width = 100le messagebox ne s'affiche pas ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Sub BT_Suivant_Click() MsgBox "suivant" End Sub Sub BT_Precedant_Click() MsgBox "precedant" End Sub
Partager