IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Changer la couleur d'un controle


Sujet :

VBA Access

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 660
    Points : 165
    Points
    165
    Par défaut Changer la couleur d'un controle
    Bonsoir,

    Sur mon formulaire j’ai une case à cocher et je voudrais changer la couleur de l’étiquette mais je ni arrive pas avec ce code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Cocher0_Click()
    Dim ctl As Control
    Set ctl = ActiveControl
     
    If TypeOf ctl Is msforms.CheckBox Then
            If ctl.Value = -1 Then
                ctl.ForeColor = RGB(255,0,0)
            Else
                ctl.ForeColor = 6697728
            End If
        End If
    End sub
    Merci pour votre aide.

    Salutations

  2. #2
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 104
    Points : 124
    Points
    124
    Par défaut
    Bonsoir,
    L'étiquette est un contrôle indépendant ... ce n'est donc pas sur le contrôle qu'il faut changer le forecolor mais sur le contrôle label qui lui est associé.

    Je n'ai jamais trop su s'il était possible de retrouver le label associé à un contrôle (et puis des fois on perd le lien) donc pour ce genre de gâteries j'ai l'habitude de jouer sur des conventions de nommage :
    contrôle : "toto" >> label "toto_étiquette"

    du coup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Const SufxLbl = "_étiquette"
    Private Sub Cocher0_Click()
    Dim ctl As Control
    dim MonLabel as Control
     
    Set ctl = ActiveControl
     
    If TypeOf ctl Is msforms.CheckBox Then
            set MonLabel = me.controls(ctl.name & SufxLbl)     
            If ctl.Value = -1 Then
                MonLabel .ForeColor = RGB(255,0,0)
            Else
                MonLabel .ForeColor = 6697728
            End If
        End If
    End sub
    ... à tester

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonsoir
    si c'est vraiement la couleur de l'etiquette que tu veux changer tu ne dois pas faire référence au CheckBox mais a son étiquette qui doit s'appeler EtiquetteX. si le E est accentué change le nom si cela t'embettes.

    ensuite est-ce la couleur du texte ou du fond -
    exemple de code
    Ton ChekBox = Cocher8
    son Etiquette = etiquette9

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    If Cocher8.Value = True Then  'Nom de ton CheckBox
    etiquette9.BackColor = RGB(255, 0, 0) ' ou .ForeColor.....
    Else
     
    etiquette9.BackColor = 6697728 ' ou.ForeColor.....
    End If
    à+

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 660
    Points : 165
    Points
    165
    Par défaut
    Bonsoir LE VIEUX,

    Merci pour ta réponse, mais c'est la solution de Bevan que je voudrais tester.

    Salutations

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 660
    Points : 165
    Points
    165
    Par défaut
    Bonsoir Bevan,

    Merci pour ta réponse, mais le code passe directement à End if

    Merci pour ton aide.

    Salutations

  6. #6
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 104
    Points : 124
    Points
    124
    Par défaut
    Enlève les espaces dans "MonLabel .ForeColor"

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 660
    Points : 165
    Points
    165
    Par défaut
    Re bonsoir Bevan,

    Toutes mes excuses le code fonctionne, j’avais oublié de renommer l’étiquette (Cocher0_étiquette) et remplacer msforms.CheckBox par CheckBox.

    Je ne ferme pas le post pour pouvoir poser d’autres questions sur le sujet

    Salutations

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Changer la couleur d'un controle au survol de la souris
    Par ThieBEN dans le forum IHM
    Réponses: 15
    Dernier message: 31/10/2012, 21h40
  2. [WPF] Changer la couleur pour des controles obligatoires
    Par BenoitM dans le forum Windows Presentation Foundation
    Réponses: 20
    Dernier message: 21/09/2012, 08h41
  3. [AC-2007] Changer la couleur d'un control à la réception du focus
    Par siriusalpha dans le forum IHM
    Réponses: 7
    Dernier message: 12/02/2011, 21h04
  4. Comment changer la couleur d'un contrôle ?
    Par HOFER dans le forum Access
    Réponses: 2
    Dernier message: 26/07/2006, 16h38
  5. Changer la couleur d'un controle
    Par tonycalv dans le forum MFC
    Réponses: 10
    Dernier message: 17/10/2005, 08h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo