manip Checkbox

3 réponses
Avatar
Mirana
Salut!

J'ai 40 checkbox dans un tableau.
Je veux tester leur valeur( vrai ou faux) pour retenir le=20
num=E9ros de case coch=E9e (exemple: checkbox2.value=3Dtrue =3D>
je retiens 2 et je le copie dans un tableau).=20
Est_il possible de faire une boucle pour le test de chaque=20
checkbox dans une proc=E9dure sub?
Si ou=20
Comment faire r=E9f=E9rence =E0 un checkbox dans une proc=E9dure=20
dans ce cas?
Sinon, d'autres solutions seront les bienvenues!

Merci d'avance.

Mirana

3 réponses

Avatar
Pierre Fauconnier
Bonjour

Dim i as integer
dim Tableau(1 to 40)
for i = 1 to 40
tableau(i)=controls("checkbox" & i).value
Next i


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)


---
Mirana wrote:
Salut!

J'ai 40 checkbox dans un tableau.
Je veux tester leur valeur( vrai ou faux) pour retenir le
numéros de case cochée (exemple: checkbox2.value=true =>
je retiens 2 et je le copie dans un tableau).
Est_il possible de faire une boucle pour le test de chaque
checkbox dans une procédure sub?
Si ou
Comment faire référence à un checkbox dans une procédure
dans ce cas?
Sinon, d'autres solutions seront les bienvenues!

Merci d'avance.

Mirana


Avatar
Mirana
Salut, merci pour ta réponse, mais
VBA ne reconnaît ni controls ni checkboxes dans cette
utilisation. Ou il faut peut-être déclarer un variable
quelque part?


-----Message d'origine-----
Bonjour

Dim i as integer
dim Tableau(1 to 40)
for i = 1 to 40
tableau(i)=controls("checkbox" & i).value
Next i


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le
temps..."

(remplacer NOSPAM par pfi pour me répondre. Merci)


---
Mirana wrote:
Salut!

J'ai 40 checkbox dans un tableau.
Je veux tester leur valeur( vrai ou faux) pour retenir
le


numéros de case cochée (exemple: checkbox2.value=true =>
je retiens 2 et je le copie dans un tableau).
Est_il possible de faire une boucle pour le test de
chaque


checkbox dans une procédure sub?
Si ou
Comment faire référence à un checkbox dans une procédure
dans ce cas?
Sinon, d'autres solutions seront les bienvenues!

Merci d'avance.

Mirana



.




Avatar
Pierre Fauconnier
Si tes checkboxes sont dans un userform et que ton code est extérieur au
module du userform, tu dois placer
le nom de ton userform suivi du point devant le mot Controls
UserForm1.Controls(...

Si tes checkboxes sont placés sur une feuille de calcul et que ton code est
extérieur au module de la feuille de calcul, il faut faire précéder
Controls(...) du nom vba de la feuille suivi d'un point ou de
Worksheets("...").

Il faut également modifier "checkbox" et le remplacer par le début du nom
des contrôles que tu souhaites modifier dans la procédure.
Pour pouvoir utiliser la boucle, il faut que tes checkboxes soient nommés
avec comme terminaison leur numéro d'index, par ex checkbox1, checkbox2,
..., checkbox39, checkbox40


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)


---

Mirana wrote:
Salut, merci pour ta réponse, mais
VBA ne reconnaît ni controls ni checkboxes dans cette
utilisation. Ou il faut peut-être déclarer un variable
quelque part?


-----Message d'origine-----
Bonjour

Dim i as integer
dim Tableau(1 to 40)
for i = 1 to 40
tableau(i)=controls("checkbox" & i).value
Next i


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)


---
Mirana wrote:
Salut!

J'ai 40 checkbox dans un tableau.
Je veux tester leur valeur( vrai ou faux) pour retenir le
numéros de case cochée (exemple: checkbox2.value=true =>
je retiens 2 et je le copie dans un tableau).
Est_il possible de faire une boucle pour le test de chaque
checkbox dans une procédure sub?
Si ou
Comment faire référence à un checkbox dans une procédure
dans ce cas?
Sinon, d'autres solutions seront les bienvenues!

Merci d'avance.

Mirana



.