Excel: Userform et boucle

Résolu/Fermé
Marco_paulo Messages postés 5 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 24 décembre 2009 - 22 déc. 2009 à 09:32
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 22 déc. 2009 à 15:37
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
22 déc. 2009 à 10:23
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
22 déc. 2009 à 10:51
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
22 déc. 2009 à 12:05
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 mardi 22 décembre 2009 Statut Membre Dernière intervention 24 décembre 2009
22 déc. 2009 à 12:52
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
22 déc. 2009 à 12:56
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 mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
22 déc. 2009 à 15:37
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