MODIFIER LA COULEUR D'UN CHAMP apres CONDITION sous ACCESS

jupilerus Messages postés 2 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 29 janvier 2009 - 29 janv. 2009 à 17:20
letzwa Messages postés 9 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 12 mars 2010 - 11 févr. 2010 à 11:36
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

qjmic Messages postés 1 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 11 août 2009 1
11 août 2009 à 08:00
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
1
Samibrik Messages postés 2 Date d'inscription dimanche 19 juillet 2009 Statut Membre Dernière intervention 19 juillet 2009
18 juil. 2009 à 17:18
bonjour... moi aussi j'ai le meme probléme..
0
letzwa Messages postés 9 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 12 mars 2010
11 févr. 2010 à 11:25
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
0
letzwa Messages postés 9 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 12 mars 2010
11 févr. 2010 à 11:36
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
0
Rejoignez-nous