Boucle sur variable checkbox

Fermé
GeoNebel - Modifié par GeoNebel le 28/04/2015 à 14:18
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 28 avril 2015 à 16:09
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 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
28 avril 2015 à 16:09
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