Changer la couleur de toutes les checkbox dans 1 form

cs_marsue Messages postés 5 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 24 mai 2004 - 12 mai 2004 à 10:59
cs_marsue Messages postés 5 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 24 mai 2004 - 12 mai 2004 à 16:18
Bonjour à tous,

je débute en VB. Je travaille sur Visual Basic 97 pour Word (c'est un peu vieux, mais ce choix est imposé pour mon travail).

J'ai créé un formulaire contenant 3 userforms. Chaque form contient un grand nombre de frames et de checkbox. Je voudrais pouvoir changer la couleur de toutes les checkbox et/ou de toutes les frames (option ForeColor) de façon rapide du point de vue de la programmation. En effet, il n'est pas aisé d'aller changer manuellement la couleur de chaque controle.

En fait, je cherche à faire la chose suivante:
For Each checkbox In userform1 '(ou In Forms)
checkbox.ForeColor=&HFF0000
Next

Mon niveau de VB me bloque car je n'ai pas trouvé comment faire...

J'ai donc essayé:
For i=0 to userform1.Contrls.Count-1
userform1.Controls(i).ForeColor=&HFF0000
Next i

Ceci fonctionne, mais mes TextBox, mes Frames et mes Labels ont aussi changé de couleur.... Et je ne le veux pas!!!

Quelqu'un aurait-il une solution??? ou même un début de solution???

MERCI beaucoup pour vos réponses à venir.

3 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
12 mai 2004 à 11:08
Dim ctl As Control

For Each ctl In Me.Controls
    If TypeOf ctl Is CheckBox Then
        ctl.FOreColor=&HFF0000
    End If
Next ctl


Manu
0
cs_marsue Messages postés 5 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 24 mai 2004
12 mai 2004 à 12:20
Bonjour Manu,

je te remercie pour cette réponse ultra rapide...
Je vais essayer

@+
0
cs_marsue Messages postés 5 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 24 mai 2004
12 mai 2004 à 16:18
;) Re,

j'ai essayé le code, mais il semble que Me.Controls n'est pas toléré; j'ai donc remplacé par
For Each ctl In userform1.Controls


La compilation passe sans problème, mais les couleurs ne changent pas. sniff...

Si quelqu'un peut me dire pk, ce serait cool, parce que là, je pense avoir essayé bcp de choses, dans tous les sens, mais rien n'y fait!

Sinon, il ne me reste que la solution de faire du copier-coller du bout de code que je veux, mais c lourdingue...

@+ tout le monde et merci pour vos idées :)
0
Rejoignez-nous