comment indexer des checkbox ??

jarc76

XLDnaute Nouveau
Salut a tous ,

voilà mon probleme : sur une feuille , j'ai des check box , plein de checkbox en fait : 650 je crois en tout .....:eek:

Bref, je les ai appelé de facon structurée (coche_1_1, coche_1_2, etc ...) en pensant pouvoir les traiter dans mon programme en les indexant .... MAis en fait je peux pas ....

pour forcer l'etat du checkbox, j'ecris la commande suivante qui marche très bien :

coche_1_1.value= true

a partir de cette syntaxe, j'aurais besoin de pouvoir traiter une instruction de ce type : coche_1_.value= true
où "i" serait la variable qui m'indexerait mes checkbox...

Dans l'esprit, si i=2 alors ca donnerait coche_1_2.value = true


je sais pas trop si j'ai été très clair ....

Merci de votre aide .....
 

Catrice

XLDnaute Barbatruc
Re : comment indexer des checkbox ??

Bonjour,

Il faut creuser d'avantage mais une piste pour démarrer ...
Sub test()
For Each X In UserForm1.Controls
If Left(X.Name, Len(X.Name) - 1) = "OptionButton" Then MsgBox X.Name
Next
End Sub
 

jarc76

XLDnaute Nouveau
Re : comment indexer des checkbox ??

Merci catrice ( sans jeu de mot ....) de ta proposition .....

j'ai trouvé sur le forum une solution idéale pour mon cas :

For i = 1 To 40
ActiveSheet.OLEObjects("Coche_1_" & i).Object.Value = true
Next i

cette instruction me permet bien d'indexer mes checkbox pour faire mes forçages ou mes tests .... trop classe le forum !!!!:D :D
 

Catrice

XLDnaute Barbatruc
Re : comment indexer des checkbox ??

Cool,

Tu peux aussi faire ça si tu en rajoute ou en enleve, tu n'es pas géné par le 1 to 40 ...
Et tu peux faire des "groupes" d'objets en fonction des noms ;)

Sub test()
For Each X In ActiveSheet.OLEObjects
If Left(X.Name, Len(X.Name) - 1) = "Coche_1_" Then X.Object.Value = True
Next
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 845
Messages
2 092 770
Membres
105 530
dernier inscrit
zazie