Cocher et Décocher une chkBox

Résolu
jytest Messages postés 315 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014 - 17 juin 2007 à 15:12
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 - 19 juin 2007 à 12:12
Je suis novice en Visual Basic !!!

Je veux utiliser un tableau de chkNom (allant de la ligne 0 à la ligne 21)
chkNom(0).Caption = "Tous"
chkNom(1).Caption = "A"
chkNom(2).Caption = "B"
chkNom(3).Caption = "C"
...
chkNom(20).Caption = "T"
chkNom(21).Caption = "Autres"

Je veux gérer le cochage et le décochage de la chkNom

De sorte que cocher ou décocher chkNom(0)
entraîne le cochage ou décochage des chkNom(1 à 21)

De plus, chaque changement d'état de l'une ou l'autre chkNom(1 à 21) entrâine l'éxecution d'une routine (FonctionVisualisation). Cette FonctionVisualisation effectue des instructionsA si l'état de chkNom(index) est à 1 ou effectue des instructionsB si l'état de chkNom(index) est à 0

Pas si simple, car d'entrée de jeu, je dois par programme initialiser chkNom(0 à 21) à la valeur 1

Qui peut m'aider ???
Merci d'avance.

JYD

5 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
17 juin 2007 à 15:38
il te faut gerer le tout sur l'évènement click du groupe de checkbox.

Si l'index est 0 alors tu attribue aux autres checkbox la valeur du checkbox 0 avec une boucle. Si l'index est différent de 0 tu appelle ta fonction suivant l'état du checkbox n° index.

Ensuite dans le form_load pour tout cocher il te suffit de cocher simplement le checkbox 0, c'est l'évènement du groupe de checkbox qui se chargeras de cocher le reste.

Attention toutefois, chaque fois que tu change la valeur d'un checkbox, que ce soit par le code pour sur l'interface, l'évènement click est déclenché.

Dans ton cas, lorsque tu cochera ou décocheras tout, l'évènement sera déclenché 21 fois en cascade.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 juin 2007 à 15:24
une simple boucle est hop c'est dans la poche :

For i = 0 to 21
    chkNom(i).Checked = vbUnchecked 'ou vbChecked pour tout cocher
next i
0
jytest Messages postés 315 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
17 juin 2007 à 15:33
Mon problème n'est au niveau de la boucle.

Mais mon problème se trouve dans le (dé)cochage de chkNom(0)... qui entraine des changements pour les éléments 1 à 21


et dans le (dé)cochage des chkNom(1 à 21).

Merci de votre aide

jyd
0
jytest Messages postés 315 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
17 juin 2007 à 16:10
Génial... C'est exactement là mon problème,

C'est que cette cascade de 21 fois ne peut être générée qu'une seule fois.

Merci de votre aide.

jyd
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
19 juin 2007 à 12:12
Bonjour,
Si tu avais validé la réponse, j'aurais pu consacrer du temps à des cas non résolus
Bonne journée. JML
0