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.
Configuration: Windows Vista
Firefox 3.0.15

6 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    post en doublons avec forum programmation

    c'est pas très sympa de ta part, marco paulo
    pijaku, bonjour
    0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    pas de souci. Maintenant, place ce sujet en "résolu" (bouton d'option dans ton premier message...).
    0
  7. 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