Excel: Userform et boucle

Résolu
Marco_paulo Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je fais un projet sous vba et j'ai le problème suivant:

J'ai plusieurs checkbox (checkbox1,checkbox2,...) et je voudrais savoir si elles sont cochées ou non grâce à une boucle.
J'écris donc

Sub Macro1()
For i = 1 To 100
If UserForm1.["checkbox" & i].Value = False Then
...
End If
Next
End Sub

Le problème c'est que quand je met Checkbox & i, Excel ne comprend pas que je veux dire Checkbox1, Checkbox2.

Je ne vois vraiment pas comment faire.
A voir également:

6 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
La syntaxe pour boucler sur les contrôles d'un UserForm est :

Dim i As Integer
    For i = 1 To 100
    If UserForm1.Controls("CheckBox" & i).Value = False Then
    ...........
    End If
    Next i

0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
post en doublons avec forum programmation

c'est pas très sympa de ta part, marco paulo
pijaku, bonjour
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Salut Michel,
Je n'avais point vu le doublon.
Il aura toujours le choix dans sa solution......

@ Marco-paulo,
Comme tu es novice ici, il y a quelques règles à respecter pour être un membre "au top".
La première chose à faire étant de lire (ou pour le moins de respecter) la charte de ces lieux. Je t'invite à la consulter, le lien se trouve au dessus de la liste des forums.
Chaque forum de ce site possède ses propres spécificités, et je comprends que tu as du hésiter entre les deux forums (bureautique & programmation) pour poser ta question. Sache que si tu te trompes de forum, ton sujet peux être réorienté vers le bon forum.
Bonne lecture à toi, et surtout n'hésite pas si tu as d'autres questions.
0
Marco_paulo Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour votre réponse ça marche nickel!

Désolé pour le message sur les 2 topics je savais pas...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
pas de souci. Maintenant, place ce sujet en "résolu" (bouton d'option dans ton premier message...).
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Voilà une autre façon de faire si on ne connait pas le nombre de controles sur un formulaire :

Dim ctl As Control

    For Each ctl In UserForm1.Controls
        If TypeName(ctl) = "CheckBox" Then
            If ctl.Value = True Then
                '......
            Else
                '.......
            End If
        End If
    Next ctl


;o)
0