Faire une boucle for pour modifier la valeur d'un checkbox [Résolu]

Signaler
-
 fabiendag -
Bonjour à tous,
j'ai un petit problème (surement tout simple, mais la je sèche) avec l'utilisation des checkbox.
Voilà, j'ai inséré des checkbox de la boite d'outils "contrôles" sur une feuille Excel. J'en ai 17. Elle se nomme checkbox1,checkbox2,checkbox3.... jusqu'à checkbox17.
J'ai inséré sur ma feuille un bouton.
Je voudrais que lorsque je clique sur ce bouton, tous les checkbox se retrouve décocher. Je sais le faire les uns à la suite des autres :
checkbox1 = false
checkbox2 = false
mais
For i = 1 to 17
    controls(i).value = false
next i

ne fonctionne pas
j'ai essayé aussi worksheets("feuille").controls(i).value = false
worksheets("feuille").controls("checkbox" & i).value = false
controls("checkbox" & i).value = false
Là je n'ai plus d'idée.

Merci d'avance
Fabien

7 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Bonjour,
Si tes contrôles sont des contrôles activex :
Worksheets("Feuil1").OLEObjects("checkbox" & i)
se réfère par exemple à la checkbox checkbox4 de ta feuille Feuil1 si i = 4
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Oui ?
Ah ===>>
essaye, pour voir :
Worksheets("Feuil1").OLEObjects("CheckBox" & i).Object.Value = False

J'ai testé, hein ...
(il est clair que la partie en vert est le contrôle et celle en rouge, ce que l'on utilise de ce contrôle).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Ce qu'il faut que tu comprennens bien, en ce qui concerne la collection OleObjects d'objets Activex mois sur une feuille de calcul :
1) on se réfère à un article de cette collection (Worksheets("blibli").OLEObjects("blabla")
2) on se "cale" sur l'objet en soit (.Object)
3) on défibit la propriété à modifier de cet objet :(.Value)
4) on définit la valeur à lui attribuer ( = False )
Ce devrait être moins "ésotérique" ainsi dit.
C'est pour cela que je l'ai (pour toi) décomposé.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
slt ucfoutu,
merci pour ta réponse,
j'ai essayé
i=4
worksheets("Feuil1").OLEObjects("optionbutton" & i).value = false

et j'ai un beau message d'erreur "Propriété ou méthode non gérée par cet objet"

Fabien
En fait ca marche si je fais worksheets("Feuil1").Optionbutton1 = false
mais avec cette méthode je peux pas mettre optionbutton & i.


Fabien
Alors comment te dire ucfoutu si ce n'est que tu m'épateras toujours. Je pensais avoir essayer cette possibilité, mais non...
Ca fonctionne merci beaucoup


Fabien
Bien compris et merci encore :)


Fabien