Un pb à 2 balles...

Résolu
Messages postés
13
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
28 septembre 2006
-
Messages postés
13
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
28 septembre 2006
-
Salut tout le monde,
J'esperais changer la couleur de tous mes label en tappant ca :
---------
  Sub LockeLeFrame()
  Dim Ctrl
  'colorer en gris tous les label du frame
  For Each Ctrl In UFGestionFormation.FrameFormation.Controls
  If TypeOf Ctrl Is Label Then
  Ctrl.ForeColor = &HC0C0C0
  End If
  Next Ctrl
  UFGestionFormation.FrameFormation.Enabled = False
  End Sub
--------
Mais ca marche pas ?? pas d'erreur juste que ca marche pas.
J'ai fait une betise ?

Merci d'avance pour vos conseils !!


Merci VBFrance

6 réponses

Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

Salut, j'ai essay ton code et effectivement ça ne marche pas en VBA (en vb6 ça fonctionne parfaitement). Comme je ne suis pas fortiche en VBA Excel, je n'en connais pas la cause par contre, essaies ça, chez moi ça marche :

Sub LockeLeFrame()
  Dim Ctrl
  'colorer en gris tous les label du frame
  For Each Ctrl In UFGestionFormation.FrameFormation.Controls
  If TypeName(Ctrl) = "Label" Then
  Ctrl.ForeColor = &HC0C0C0
  End If
  Next Ctrl
  UFGestionFormation.FrameFormation.Enabled = False
  End Sub
 
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
For Each Ctrl In UFGestionFormation.FrameFormation.Controls te parcourt tout les contrôles contenu dans le contrôle FrameFormation.

Essaye plutôt avec un :

Dim Ctrl As Object

For Each Ctrl In UFGestionFormation.Controls
Messages postés
13
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
28 septembre 2006

j'y ai pensé mais mon frame est dans un controle multipage (index1).
j'ai peur de colorer tous les labels de mon formulaire ...

Zut, il n'en veut pas non plus. comme tout à l'heure, pas d'erreur ca ne marche pas.

Merci quand meme pour la reponse

Merci VBFrance
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Essaie de mettre ceci
If TypeOf Ctrl Is MSForms.Label Then

@+, Julien
Pensez:
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
ou tu mets par exemple "Couleur" à la propriété Tag de tes Labels que tu souhaites changer de couleur, puis :

For Each Ctrl In UFGestionFormation.Controls
If Ctrl.Tag = "Couleur" Then
Ctrl.ForeColor = &HC0C0C0 'lol, j'ai lu 'choco' !
End If
Next Ctrl

N'oubliez pas cette propriété Tag, qui s'avère interressante dans ce genre de cas.

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
Messages postés
13
Date d'inscription
mercredi 1 mars 2006
Statut
Membre
Dernière intervention
28 septembre 2006

Merci à Tous, la soluce de Dolphin Boy fonctionne à merveille, mais je vais quand meme essayer les deux autres par curiosité ^^


Bizare que ca marche en vb6 et pas en vba, va falloir que je me mette à vb.net ?


Encore merci a+


ste


--------------


Merci VBFrance