UserForm1
Version imprimable
UserForm1
en remplacant ceci
parCode:If UserForm1.Controls("checkBox" & j) = True Then
l'erreur devrait se deporter a la ligne en dessousCode:if userform1.checkbox0 = true then
Non. Il me marque erreur: objet requis
donc l'un des deux objets (userform1 ou checkbox0) est absent
ce peut etre une faute de frappe, un espace dans le nom
en dessous de for j = 0 to 2
tu tape userform1.
Lorsque tu tape le point, l'autocompletion devrait te finir ton mot qui commence par che, est ce qu'il te propose checkbox0, 1, 2
Oui je trouve bien mes 3 checkbox
En faisant ta méthode et en choisissant ma premiere checkbox apres le ".", l'erreur est bien décalé sur la ligne du dessous
:cfou:
donc il y a une erreur dans le nom de la checkbox0
si la valeur de J est egale a 0 en debogage
Pièce jointe 158320
Il faut modifié les diferrents name par checkbox0, 1, 2
et a la question, comment s'appelle les checkbox, il fallait repondre IBN, reception, serie
donc forcement on ne peut pas boucler sur ces trois objets, tout au moins avec la methode que j'ai appliqué.
Bonjour,
Si tes CheckBox ont des noms qu'il n'est pas possible d'indexé, tu peux utiliser un tableau ou la fonction choix :
Hervé.Code:
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 Dim J As Integer Dim Tbl Tbl = Array("IBN", "Reception", "Serie") 'base 0 For J = 0 To 2 If UserForm1.Controls(Tbl(J)) = True Then MsgBox UserForm1.Controls(Tbl(J)).Name End If Next J 'base 1 For J = 1 To 3 If UserForm1.Controls(Choose(J, "IBN", "Reception", "Serie")) = True Then MsgBox UserForm1.Controls(Choose(J, "IBN", "Reception", "Serie")).Name End If Next J