Faire une boucle for pour modifier la valeur d'un checkbox

Résolu
fabiendag - 29 mai 2013 à 11:12
 fabiendag - 29 mai 2013 à 13:06
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 mai 2013 à 11:44
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.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 mai 2013 à 12:51
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.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 mai 2013 à 13:03
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.
3
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
0

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

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


Fabien
0
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
0
Bien compris et merci encore :)


Fabien
0
Rejoignez-nous