Comment executer une boucle "for each" sur checkbox dans frm
5 réponses
jhonna63
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for
next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans
une feuille frm, dont le but est de vérifier si leur valeur est "true" ou
"false" ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gérard Ducouret
Bonjour,
Si tous les checkboxes ont un nom commençant par "checkbox", j'essaierai:
Sub CB() Dim CB As Control
For Each CB In UserForm1.Controls If Left(CB.Name, 8) = "CheckBox" Then Debug.Print CB.Name & ":" & CB.Value End If Next End Sub
Gérard Ducouret
"jhonna63" a écrit dans le message de news:
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans une feuille frm, dont le but est de vérifier si leur valeur est "true" ou "false" ?
Bonjour,
Si tous les checkboxes ont un nom commençant par "checkbox", j'essaierai:
Sub CB()
Dim CB As Control
For Each CB In UserForm1.Controls
If Left(CB.Name, 8) = "CheckBox" Then
Debug.Print CB.Name & ":" & CB.Value
End If
Next
End Sub
Gérard Ducouret
"jhonna63" <jhonna63@discussions.microsoft.com> a écrit dans le message de
news: 7ADA7DE4-60F6-45AC-BAA4-F67E3F0A3774@microsoft.com...
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for
next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés
dans
une feuille frm, dont le but est de vérifier si leur valeur est "true" ou
"false" ?
Si tous les checkboxes ont un nom commençant par "checkbox", j'essaierai:
Sub CB() Dim CB As Control
For Each CB In UserForm1.Controls If Left(CB.Name, 8) = "CheckBox" Then Debug.Print CB.Name & ":" & CB.Value End If Next End Sub
Gérard Ducouret
"jhonna63" a écrit dans le message de news:
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans une feuille frm, dont le but est de vérifier si leur valeur est "true" ou "false" ?
jhonna63
Merci, cela marche comme suis: nb: la procédure commence en cliquant sur un bouton de commande les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If Left(CB.Name, 3) = "box" Then VERIF = CB.Value End If Next
End Sub
deux questions: pourquoi l'ordre de vérification des controles ne suit pas les "tabindex"; est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je trop perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans une feuille frm, dont le but est de vérifier si leur valeur est "true" ou "false" ?
Merci, cela marche comme suis:
nb: la procédure commence en cliquant sur un bouton de commande
les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click()
Dim VERIF
Dim CB As Control
For Each CB In frmchoix.Controls
If Left(CB.Name, 3) = "box" Then
VERIF = CB.Value
End If
Next
End Sub
deux questions:
pourquoi l'ordre de vérification des controles ne suit pas les "tabindex";
est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je trop
perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for
next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans
une feuille frm, dont le but est de vérifier si leur valeur est "true" ou
"false" ?
Merci, cela marche comme suis: nb: la procédure commence en cliquant sur un bouton de commande les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If Left(CB.Name, 3) = "box" Then VERIF = CB.Value End If Next
End Sub
deux questions: pourquoi l'ordre de vérification des controles ne suit pas les "tabindex"; est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je trop perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans une feuille frm, dont le but est de vérifier si leur valeur est "true" ou "false" ?
Gérard Ducouret
les cases à cocher commencent toutes par "box" : Vous utilisez probablement la version anglaise?
Dans le For Each il est possible spécifier "CheckBox" Mais à l'intérieur de la boucle, je n'ai pas truvé le moyen de tester précisément sur la nature"checkbox" ;-( Moi aussi je suis perfectionniste et pas très satisfait.... je chercherai dès que j'aurai le temps.
Cordialement,
Gérard Ducouret
"jhonna63" a écrit dans le message de news:
Merci, cela marche comme suis: nb: la procédure commence en cliquant sur un bouton de commande les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If Left(CB.Name, 3) = "box" Then VERIF = CB.Value End If Next
End Sub
deux questions: pourquoi l'ordre de vérification des controles ne suit pas les "tabindex"; est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je trop perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans une feuille frm, dont le but est de vérifier si leur valeur est "true" ou "false" ?
les cases à cocher commencent toutes par "box" :
Vous utilisez probablement la version anglaise?
Dans le For Each il est possible spécifier "CheckBox"
Mais à l'intérieur de la boucle, je n'ai pas truvé le moyen de tester
précisément sur la nature"checkbox" ;-(
Moi aussi je suis perfectionniste et pas très satisfait....
je chercherai dès que j'aurai le temps.
Cordialement,
Gérard Ducouret
"jhonna63" <jhonna63@discussions.microsoft.com> a écrit dans le message de
news: 564F4565-4CDD-45D8-86C4-850005834920@microsoft.com...
Merci, cela marche comme suis:
nb: la procédure commence en cliquant sur un bouton de commande
les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click()
Dim VERIF
Dim CB As Control
For Each CB In frmchoix.Controls
If Left(CB.Name, 3) = "box" Then
VERIF = CB.Value
End If
Next
End Sub
deux questions:
pourquoi l'ordre de vérification des controles ne suit pas les "tabindex";
est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je
trop
perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for
next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés
dans
une feuille frm, dont le but est de vérifier si leur valeur est "true" ou
"false" ?
les cases à cocher commencent toutes par "box" : Vous utilisez probablement la version anglaise?
Dans le For Each il est possible spécifier "CheckBox" Mais à l'intérieur de la boucle, je n'ai pas truvé le moyen de tester précisément sur la nature"checkbox" ;-( Moi aussi je suis perfectionniste et pas très satisfait.... je chercherai dès que j'aurai le temps.
Cordialement,
Gérard Ducouret
"jhonna63" a écrit dans le message de news:
Merci, cela marche comme suis: nb: la procédure commence en cliquant sur un bouton de commande les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If Left(CB.Name, 3) = "box" Then VERIF = CB.Value End If Next
End Sub
deux questions: pourquoi l'ordre de vérification des controles ne suit pas les "tabindex"; est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je trop perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans une feuille frm, dont le but est de vérifier si leur valeur est "true" ou "false" ?
jhonna63
Bonjour, C'est moi qui est renommé les cases à cocher en "box" ! J'en ai 36, et pour simplifier l'écriture du code j'en ai raccourci le nom, ce qui ne change en rien le control checkbox en lui-même... Pour ce qui est de la solution en voici une qui me satisfait en partie: NB: VERIF ne sert qu'à controler le nombre de cases que j'ai coché pour vérifier le bon fonctionnement du code.
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If TypeOf CB Is MSForms.CheckBox Then If CB.Value = True Then VERIF = VERIF + 1 End If End If Next End Sub
J'aurais aimé (cerise sur le gâteau) concaténer les deux expressions "if typeof" et "if CB.value" en une seule; en utilisant l'opérateur "And" par exemple mais cela ne marche pas... Si vous avez une idée...
les cases à cocher commencent toutes par "box" : Vous utilisez probablement la version anglaise?
Dans le For Each il est possible spécifier "CheckBox" Mais à l'intérieur de la boucle, je n'ai pas truvé le moyen de tester précisément sur la nature"checkbox" ;-( Moi aussi je suis perfectionniste et pas très satisfait.... je chercherai dès que j'aurai le temps.
Cordialement,
Gérard Ducouret
"jhonna63" a écrit dans le message de news:
Merci, cela marche comme suis: nb: la procédure commence en cliquant sur un bouton de commande les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If Left(CB.Name, 3) = "box" Then VERIF = CB.Value End If Next
End Sub
deux questions: pourquoi l'ordre de vérification des controles ne suit pas les "tabindex"; est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je trop perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans une feuille frm, dont le but est de vérifier si leur valeur est "true" ou "false" ?
Bonjour,
C'est moi qui est renommé les cases à cocher en "box" !
J'en ai 36, et pour simplifier l'écriture du code j'en ai raccourci le nom,
ce qui ne change en rien le control checkbox en lui-même...
Pour ce qui est de la solution en voici une qui me satisfait en partie:
NB: VERIF ne sert qu'à controler le nombre de cases que j'ai coché pour
vérifier le bon fonctionnement du code.
Private Sub cmdafficher_Click()
Dim VERIF
Dim CB As Control
For Each CB In frmchoix.Controls
If TypeOf CB Is MSForms.CheckBox Then
If CB.Value = True Then
VERIF = VERIF + 1
End If
End If
Next
End Sub
J'aurais aimé (cerise sur le gâteau) concaténer les deux expressions "if
typeof" et "if CB.value" en une seule; en utilisant l'opérateur "And" par
exemple mais cela ne marche pas...
Si vous avez une idée...
les cases à cocher commencent toutes par "box" :
Vous utilisez probablement la version anglaise?
Dans le For Each il est possible spécifier "CheckBox"
Mais à l'intérieur de la boucle, je n'ai pas truvé le moyen de tester
précisément sur la nature"checkbox" ;-(
Moi aussi je suis perfectionniste et pas très satisfait....
je chercherai dès que j'aurai le temps.
Cordialement,
Gérard Ducouret
"jhonna63" <jhonna63@discussions.microsoft.com> a écrit dans le message de
news: 564F4565-4CDD-45D8-86C4-850005834920@microsoft.com...
Merci, cela marche comme suis:
nb: la procédure commence en cliquant sur un bouton de commande
les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click()
Dim VERIF
Dim CB As Control
For Each CB In frmchoix.Controls
If Left(CB.Name, 3) = "box" Then
VERIF = CB.Value
End If
Next
End Sub
deux questions:
pourquoi l'ordre de vérification des controles ne suit pas les "tabindex";
est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je
trop
perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for
next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés
dans
une feuille frm, dont le but est de vérifier si leur valeur est "true" ou
"false" ?
Bonjour, C'est moi qui est renommé les cases à cocher en "box" ! J'en ai 36, et pour simplifier l'écriture du code j'en ai raccourci le nom, ce qui ne change en rien le control checkbox en lui-même... Pour ce qui est de la solution en voici une qui me satisfait en partie: NB: VERIF ne sert qu'à controler le nombre de cases que j'ai coché pour vérifier le bon fonctionnement du code.
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If TypeOf CB Is MSForms.CheckBox Then If CB.Value = True Then VERIF = VERIF + 1 End If End If Next End Sub
J'aurais aimé (cerise sur le gâteau) concaténer les deux expressions "if typeof" et "if CB.value" en une seule; en utilisant l'opérateur "And" par exemple mais cela ne marche pas... Si vous avez une idée...
les cases à cocher commencent toutes par "box" : Vous utilisez probablement la version anglaise?
Dans le For Each il est possible spécifier "CheckBox" Mais à l'intérieur de la boucle, je n'ai pas truvé le moyen de tester précisément sur la nature"checkbox" ;-( Moi aussi je suis perfectionniste et pas très satisfait.... je chercherai dès que j'aurai le temps.
Cordialement,
Gérard Ducouret
"jhonna63" a écrit dans le message de news:
Merci, cela marche comme suis: nb: la procédure commence en cliquant sur un bouton de commande les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If Left(CB.Name, 3) = "box" Then VERIF = CB.Value End If Next
End Sub
deux questions: pourquoi l'ordre de vérification des controles ne suit pas les "tabindex"; est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je trop perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans une feuille frm, dont le but est de vérifier si leur valeur est "true" ou "false" ?
Gérard Ducouret
Bonsoir, Pour moi, la condition suivante marche bien:
If TypeOf CB Is MSForms.CheckBox And CB.Value = True Then VERIF = VERIF + 1 End If
Gérard Ducouret
"jhonna63" a écrit dans le message de news:
Bonjour, C'est moi qui est renommé les cases à cocher en "box" ! J'en ai 36, et pour simplifier l'écriture du code j'en ai raccourci le nom, ce qui ne change en rien le control checkbox en lui-même... Pour ce qui est de la solution en voici une qui me satisfait en partie: NB: VERIF ne sert qu'à controler le nombre de cases que j'ai coché pour vérifier le bon fonctionnement du code.
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If TypeOf CB Is MSForms.CheckBox Then If CB.Value = True Then VERIF = VERIF + 1 End If End If Next End Sub
J'aurais aimé (cerise sur le gâteau) concaténer les deux expressions "if typeof" et "if CB.value" en une seule; en utilisant l'opérateur "And" par exemple mais cela ne marche pas... Si vous avez une idée...
les cases à cocher commencent toutes par "box" : Vous utilisez probablement la version anglaise?
Dans le For Each il est possible spécifier "CheckBox" Mais à l'intérieur de la boucle, je n'ai pas truvé le moyen de tester précisément sur la nature"checkbox" ;-( Moi aussi je suis perfectionniste et pas très satisfait.... je chercherai dès que j'aurai le temps.
Cordialement,
Gérard Ducouret
"jhonna63" a écrit dans le message de news:
Merci, cela marche comme suis: nb: la procédure commence en cliquant sur un bouton de commande les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If Left(CB.Name, 3) = "box" Then VERIF = CB.Value End If Next
End Sub
deux questions: pourquoi l'ordre de vérification des controles ne suit pas les "tabindex"; est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je trop perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans une feuille frm, dont le but est de vérifier si leur valeur est "true" ou "false" ?
Bonsoir,
Pour moi, la condition suivante marche bien:
If TypeOf CB Is MSForms.CheckBox And CB.Value = True Then
VERIF = VERIF + 1
End If
Gérard Ducouret
"jhonna63" <jhonna63@discussions.microsoft.com> a écrit dans le message de
news: 88A06C2B-3599-4913-BE6A-FEF698970DE4@microsoft.com...
Bonjour,
C'est moi qui est renommé les cases à cocher en "box" !
J'en ai 36, et pour simplifier l'écriture du code j'en ai raccourci le
nom,
ce qui ne change en rien le control checkbox en lui-même...
Pour ce qui est de la solution en voici une qui me satisfait en partie:
NB: VERIF ne sert qu'à controler le nombre de cases que j'ai coché pour
vérifier le bon fonctionnement du code.
Private Sub cmdafficher_Click()
Dim VERIF
Dim CB As Control
For Each CB In frmchoix.Controls
If TypeOf CB Is MSForms.CheckBox Then
If CB.Value = True Then
VERIF = VERIF + 1
End If
End If
Next
End Sub
J'aurais aimé (cerise sur le gâteau) concaténer les deux expressions "if
typeof" et "if CB.value" en une seule; en utilisant l'opérateur "And" par
exemple mais cela ne marche pas...
Si vous avez une idée...
les cases à cocher commencent toutes par "box" :
Vous utilisez probablement la version anglaise?
Dans le For Each il est possible spécifier "CheckBox"
Mais à l'intérieur de la boucle, je n'ai pas truvé le moyen de tester
précisément sur la nature"checkbox" ;-(
Moi aussi je suis perfectionniste et pas très satisfait....
je chercherai dès que j'aurai le temps.
Cordialement,
Gérard Ducouret
"jhonna63" <jhonna63@discussions.microsoft.com> a écrit dans le message
de
news: 564F4565-4CDD-45D8-86C4-850005834920@microsoft.com...
Merci, cela marche comme suis:
nb: la procédure commence en cliquant sur un bouton de commande
les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click()
Dim VERIF
Dim CB As Control
For Each CB In frmchoix.Controls
If Left(CB.Name, 3) = "box" Then
VERIF = CB.Value
End If
Next
End Sub
deux questions:
pourquoi l'ordre de vérification des controles ne suit pas les
"tabindex";
est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je
trop
perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou
for
next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox)
situés
dans
une feuille frm, dont le but est de vérifier si leur valeur est "true"
ou
"false" ?
Bonsoir, Pour moi, la condition suivante marche bien:
If TypeOf CB Is MSForms.CheckBox And CB.Value = True Then VERIF = VERIF + 1 End If
Gérard Ducouret
"jhonna63" a écrit dans le message de news:
Bonjour, C'est moi qui est renommé les cases à cocher en "box" ! J'en ai 36, et pour simplifier l'écriture du code j'en ai raccourci le nom, ce qui ne change en rien le control checkbox en lui-même... Pour ce qui est de la solution en voici une qui me satisfait en partie: NB: VERIF ne sert qu'à controler le nombre de cases que j'ai coché pour vérifier le bon fonctionnement du code.
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If TypeOf CB Is MSForms.CheckBox Then If CB.Value = True Then VERIF = VERIF + 1 End If End If Next End Sub
J'aurais aimé (cerise sur le gâteau) concaténer les deux expressions "if typeof" et "if CB.value" en une seule; en utilisant l'opérateur "And" par exemple mais cela ne marche pas... Si vous avez une idée...
les cases à cocher commencent toutes par "box" : Vous utilisez probablement la version anglaise?
Dans le For Each il est possible spécifier "CheckBox" Mais à l'intérieur de la boucle, je n'ai pas truvé le moyen de tester précisément sur la nature"checkbox" ;-( Moi aussi je suis perfectionniste et pas très satisfait.... je chercherai dès que j'aurai le temps.
Cordialement,
Gérard Ducouret
"jhonna63" a écrit dans le message de news:
Merci, cela marche comme suis: nb: la procédure commence en cliquant sur un bouton de commande les cases à cocher commencent toutes par "box"
Private Sub cmdafficher_Click() Dim VERIF Dim CB As Control
For Each CB In frmchoix.Controls If Left(CB.Name, 3) = "box" Then VERIF = CB.Value End If Next
End Sub
deux questions: pourquoi l'ordre de vérification des controles ne suit pas les "tabindex"; est-il possible de ne faire la boucle que sur les "checkbox" ou suis-je trop perfectionniste?
Comment écrire une procédure afin d'éxécuter une boucle for each ( ou for next de 0 à 35) sur un ensemble (36) de cases à cocher (checkbox) situés dans une feuille frm, dont le but est de vérifier si leur valeur est "true" ou "false" ?