bonjour,
j'ai réalisé un UserForm qui en fonction d'une donnée génère des TextBox (TextBox dynamique)
voici le code pour les générer celui ci marche parfaitement
Et voici le code qui ne marche pas qui doit pouvoir récupérer la valeur des checkBox pour supprimer des feuilles
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 Private Sub CommandButton2_Click() '------------------permet de dimensionner le UserForm----------------------' With CommandButton1 .Top = 18 * nbcr + 96 End With With UserForm3 .Height = 18 * nbcr + 149 End With '------------------création des TextBox dynamique en fonction de nbcr--------------' For i = 1 To nbcr Set supcomposant = UserForm3.Controls.Add("forms.CheckBox.1") With supcomposant .Name = "CheckBox2" & i 'nom de la textbox .Left = 12 'position par rapport au rebord gauche de l'UserForm .Top = 18 * i + 60 'position par rapport au haut de l'UserForm .Width = 198.5 'largeur de la zone d'écriture .Height = 13.5 'hauteur de la zone d'écriture .BackColor = &H8000000B 'couleur fond .BackStyle = fmBackStyleOpaque .Caption = "composant_" & Nomcomposant(i) End With Next i End Sub
Dans ce code c'est la condition If qui n'est pas correctement exécuté "checkBox2 & i" ne renvoie pas le nom des checkBox précédemment créées
sur certain forum j'ai lu qu'il fallait créer une collection et une classe mais je ne comprend pas vraiment comment adapter les choses à mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub CommandButton1_Click() '----------supprime les feuilles séléctionnées------------------' For i = 1 To nbcr If CheckBox2 & i = True Then Worksheets("Composant_" & Nomcomposant(i)).Delete End If Next i Unload UserForm3 End Sub
Quelqu'un a t'il une idée ?
Louis
Partager