Boucle sur variable checkbox

GeoNebel -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je suis un traditionnel débutant en vba. Voici l'énoncé de mon problème:

J'ai un userform avec 30 CheckBox qui symbolisent les 30 feuilles contenues dans mon classeur. Lorsque j'initialise mon UserForm, je souhaite que si la Feuil1 est visible, la Checkbox1 soit coché et ce pour les 30 CheckBox. Les deux objets Feuil(N)/CheckBox(N) marchent toujours de pairs. J'ai ce code qui marche mais que je dois répéter 30 fois:

If Feuil1.Visible = True Then
CheckBox1.Value = True
End If

J'ai essayé cette boucle mais qui ne marche pas:

Dim i As Integer
Dim CB as CheckBox
Dim WS as worksheets

For i = 1 to 30

Set CB = CheckBox(i)
Set WS = Feuil(i)

If WS.Visible = True Then
CB.Value = True
End If

Next i

Quelqu'un peut-il me dire comment faire cette boucle pour améliorer mon code. Je vous remercie par avance de vos réponse et je recommencerai pour toute aide de votre part.

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 714
 
Bonjour,

ici sur init userform, adaptez l'evenement:

Private Sub UserForm_Initialize()
    Dim i As Integer

    For i = 1 To 5
        If Sheets(i).Visible = True Then
            Me.Controls("Checkbox" & i).Value = True
        Else
            Me.Controls("Checkbox" & i).Value = False
        End If
    Next i
End Sub
0