MODIFIER LA COULEUR D'UN CHAMP apres CONDITION sous ACCESS

Signaler
Messages postés
2
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
29 janvier 2009
-
Messages postés
9
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
12 mars 2010
-
Bonjour

je vousdrais pouvoir modifier la couleur d'un champ de saisie selon le contenu qu'il contient
ainsi,  si  le champ  x  =1 alors la couleur de fond du champ est rouge  ( on a alors 1 sur fond rouge)
          si  le champ  x  =2 alors la couleur de fond du champ est vert
          si  le champ  x  =3 alors la couleur de fond du champ est jaune
        si  le champ  x  =41 alors la couleur de fond du champ est bleu
 etc...
il doit bien exister une ligne d'instruction qui me permet de faire cela

quel code utiliser ?
code couleur ?
Si quelqu'un pouvait m'éclairer.
merci

4 réponses

Messages postés
2
Date d'inscription
dimanche 19 juillet 2009
Statut
Membre
Dernière intervention
19 juillet 2009

bonjour... moi aussi j'ai le meme probléme..
Messages postés
1
Date d'inscription
mardi 11 août 2009
Statut
Membre
Dernière intervention
11 août 2009

Bonjour,
En imaginant que votre champ s'appelle champ1 (Clic droit propriété / autre / nom : champ1)
Toujours dans les propriétés,onglet évènement
sur la ligne "après mise à jour" dérouler et choisir procédure évènementielle, puis cliquer sur "..."
Mettre le code suivant
'Private Sub champ1_AfterUpdate() ceci est déjà mis
If [champ1].Value = 1 Then
Me![champ1].BackColor = vbYellow
Else
If [champ1].Value = 2 Then
Me![champ1].BackColor = vbGreen
Else
Me![champ1].BackColor = vbRed
End If
End If
'End Sub ceci aussi fin du code
Fermer la fenêtre visual basic
Enregistrer le formulaire
Avec ce code, le champ passe en jaune si on met 1, sinon re test, vert si on met 2 et rouge pour toutes les autres valeurs (on peut mettre des test = ou >...)
La couleur de la cellule changera que quand vous passerez sur un autre champ (TAB ou clic souris sur un autre champ)
Aspérant avoir apporté un peu d'eau au moulin. Cdlt qjmic
Messages postés
9
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
12 mars 2010

Bonjour qjmic,

Ton bout de code m'a bien aidé, mais j'ai un problème.

J'ai un champ état (chmpetat) qui me donne 3 possibilité et un champ société (chmpsociete) qui se colore en fonction du champ état:

Si "Client" alors Champ Société => Rouge
Si "En cours" alors Champ Société => Vert
Si "Prospect" alors champ Société => Blanc

Voici mon code :

Private Sub chmpetat_AfterUpdate()
If [chmpetat].Value = "Client" Then
Me![chmpsociete].BackColor = vbRed
Else
If [chmpetat].Value = "En cours" Then
Me![chmpsociete].BackColor = vbGreen
Else
If [chmpetat].Value = "En cours" Then
Me![chmpsociete].BackColor = vbGreen
Else
Me![chmpsociete].BackColor = vbWhite
End If
End If
End If
End Sub

Le problème est le suivant :

Par exemple quand je sélectionne "Client" mon champ Société se colore bien en Rouge mais quand je sélectionne une autre Société dans mon filtre le champ société reste rouge alors que la valeur du champ Etat est "Prospect" donc il devrait être Blanc.
Je sélectionne à nouveau "Prospect" et le champ Société passe en Blanc je retourne sur le société précédente, le champ Société est blanc et non Rouge comme il devrait l'être...

D'où vient le problème ?

Merci d'avance
Messages postés
9
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
12 mars 2010

Oups problème de copier/coller sur mon code, je vous le redonne :

Private Sub chmpetat_AfterUpdate()
If [chmpetat].Value = "Client" Then
Me![chmpsociete].BackColor = vbRed
Else
If [chmpetat].Value = "En cours" Then
Me![chmpsociete].BackColor = vbGreen
Else
If [chmpetat].Value = "Prospect" Then
Me![chmpsociete].BackColor = vbWhite
End If
End If
End If
End Sub

Désolé :s