Excel: Userform et boucle

Résolu
Marco_paulo Messages postés 5 Statut Membre -  
Polux31 Messages postés 7219 Statut Membre -
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 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 765
 
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 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
post en doublons avec forum programmation

c'est pas très sympa de ta part, marco paulo
pijaku, bonjour
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 765
 
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 Statut Membre
 
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 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 765
 
pas de souci. Maintenant, place ce sujet en "résolu" (bouton d'option dans ton premier message...).
0
Polux31 Messages postés 7219 Statut Membre 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