Checkbox à coder en boucle

Bonjour à tous,

je suis nouveau ici et en codage VBA.

j'aurai besoin de votre aide.

j'ai un userform avec beaucoup de checkbox, (74 pour la 1ère partie),

quand je clique sur une des checkbox, celle-ci indique 1 dans la cellule à laquelle elle se rapporte et indique dans 2 listbox sa caption.

j'ai réussi en codant chaque checkbox individuellement mais mon code est trop long et ça ne veut pas lancer le vba.

j'ai essayé de faire une boucle mais ça ne fonctionne pas.

Merci de m'aider.

voici le code que j'ai essayé pour le bouton recherche mais ça ne fonctionne pas.

Merci à vous tous pour votre aide

je vous ai mis le fichier

Bonjour,

Prenons l'exemple de "cases de St-Ghislain Mail" ...

Au lieu de 18 codes > un seul suffit > 17 dans l'expression "x -17" représente le pas entre le numéro du CheckBox et le numéro de ligne ...

For X = 101 To 118
 'chk101 = Res-101
   if Controls("chk" & X).Value = True Then
      Cells(no_ligne, X - 17) = 1
      lstMC.AddItem Controls("chk" & X).Object.Caption
      lstSTGHISLAIN.AddItem Controls("chk" & X).Object.Caption
   Else: Cells(no_ligne, X - 17) = ""
   End If
Next X

Je ta laisse faire le tour de tes codes pour modifier les autres ...

ric

ok pur le X qui est le numéro des checkbox mais le numéro des checkbox n'est pas le même que le numéro des colonnes dans les quelles si la checkbox est vrai, un 1 s'y inscrit.

donc le numéro de ligne ne peut pas être X.

si oui, alors, est-il possible de m'expliquer?

car mon but n'est pas que de recopier le code mais de le comprendre.

Merci beaucoup de me donner de votre temps

Bonjour,

Ouupppssss!!!!! > je me suis fourvoyer entre le numéro de ligne est le numéro de colonne ...

Désolé ...

Je reviens ...

ric

Bonjour,

Ceci devrait être mieux ...

            Dim X As Integer  ' < ne pas oublier de déclarer la variable au début du code

            For X = 101 To 118
                'chk101 = Res-101
                If Controls("chk" & X).Value = True Then
                    Cells(no_ligne, 84) = 1
                    lstMC.AddItem Controls("chk" & X).Object.Caption
                    lstSTGHISLAIN.AddItem Controls("chk" & X).Object.Caption
                Else: Cells(no_ligne, 84) = ""
                End If
            Next X

ric

je suis désolé mais avec ce code, si j'active ma checkbox 101, un 1 va se mettre à la colonne 84. mais si j'active la checbox 102, elle renverra 1 aussi à la colonne 84, alors que la chekcbox 102 doit envoyer 1 à la colonne 85...

désolé de vous embêter.

Bonjour,

Tu ne m'embêtes en rien > c'est moi qui ne suis pas encore réveillé > désolé ...

Est-ce que tu as testé mon premier code > car il fonctionne bien ...

Pour la colonne ( X - 17 ) > veut dire quand X vaut 101 > X - 17 = 84 > quand le X vaudra 102 > X -17 = 85 etc...

ric

Bonjour,

Autre exemple > Dour > le pas est de 99 entre le checkbox et le numéro de colonne ...

            '*******************
            'cases de Dour Mail
            '*******************

            'chk201 = Res-201
            For X = 201 To 213
                If Controls("chk" & X).Value = True Then
                    Cells(no_ligne, X - 99) = 1
                    lstMC.AddItem Controls("chk" & X).Object.Caption
                    lstDOUR.AddItem Controls("chk" & X).Object.Caption
                Else: Cells(no_ligne, X - 99) = ""
                End If
            Next X

ric

Bonjour,

Un dernier exemple ...

            '***********************
            'cases de Soignies Mail
            '***********************

            'chk401 = Res-401
            For X = 401 To 446
                If Controls("chk" & X).Value = True Then
                    Cells(no_ligne, x - 286) = 1
                    lstMC.AddItem Controls("chk" & X).Object.Caption
                    lstSOIGNIES.AddItem Controls("chk" & X).Object.Caption
                Else: Cells(no_ligne, X - 286) = ""
                End If
            Next X

ric

super content.

je te remercie beaucoup, je viens de terminer de tout réencoder, et régler quelques petits bugs mais tout fonctionne correctement.

tu m'as appris beaucoup aujourd'hui.

1000 mercis à toi.

j'ai joint le fichier terminé

ric

Rechercher des sujets similaires à "checkbox coder boucle"