Mise en forme conditionnelle ACCESS 2003 [Résolu/Fermé]

Signaler
Messages postés
10
Date d'inscription
dimanche 26 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
-
 Julie87 -
Bonjour,
Je travaille sous access 2003 dans le but de créer une base de donnée pour répértorier les nettoyages d'un atelier. J'ai donc créer un formulaire qui contient : 1. les zones de l'atelier ;
2. les fréquences des nettoyages à réaliser pour chaque zone (en format texte);
3. un sous-formulaire dans lequel sont présent :
A. Une case a cocher quand le nettoyage de la zone a été fait,
B. Le nom de la personne qui l'a fait,
C. La date du nettoyage réalisé(format date).

J'aimerais savoir s'il est possible de créer une mise en forme particulière qui mettrait en avant la zone quand le nettoyage n'a pas été réalisé en corrélation avec la fréquence.

p.ex : le nom de la zone s'écrit en rouge quand on voit que la fréquence pour cette zone est de 1mois et la date saisie dépasse de plus de 1mois la précédente. le nom s'affiche en orange quand la date approche et en vert qu'en les nettoyages sont correctement réalisés. (une sorte d'alerte)

J'espère avoir été claire dans mon explication. Est-ce-que ce genre de mise en forme est possible à réaliser sous access, et comment dois-je m'y prendre.

9 réponses

Messages postés
10
Date d'inscription
dimanche 26 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009

Pas de réponse ?
Messages postés
10
Date d'inscription
dimanche 26 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009

S'il vous plaît
La mise en forme conditionnelle n'est pas possible en mode feuille de données mais tu peux utiliser les propriétés de ton objet texte via du code VBA.

Billou(te).
Messages postés
1144
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
58
connais tu un peu le vba??

c possible de faire ce que tu dis

dans ton code tu ecris

si la date de lavage est superieur a la date +15j alors la couleur est orange

si la date de lavage est superieur a la date +30j alors la couleur est rouge

si tu veux un cou de main hesite pas
Messages postés
10
Date d'inscription
dimanche 26 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009

Je vous avoues avoir beaucoup de mal en vba, les codes je ne comprends rien, si vous pouvez m'aider je ne dirais pas non. Et donc enfait, si j'ai bien compris il faut mettre +15j de la précédente date ?? Est-ce-que cela vous embéterais de me donner un exemple de code vba à mettre? aprés je l'appliquerais et je vous dirais si j'ai réussi.

Merci beaucoup pour votre réponse, je commençais à désespérer.
Messages postés
1144
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
58
re

voila un bout de code pour que la couleur d 'ecriture se modifie si une valeur est verifie

If nom_salarie = "THOMas" Then
nom_salarie.ForeColor = vbBlue
Else
nom_salarie.ForeColor = vbBlack
End If

End Sub
'nom_salarie = nom de ton champ
'.forecolor = vbblack couleur du texte

a toi d adapter ca a ton formulaire si besoin hesite pas

pour toi ca donnerai :

if date de realisation > date de realisation +15 then

date de realisation.forecolor = vbred


voila hesite pas si tu ne comprend pas tout
Messages postés
1144
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
58
voila un exemple avec les dates


If Me.Texte2 >= (Me.Texte9 + 15) And Me.Texte2 <= (Me.Texte9 + 30) Then
Me.Texte2.ForeColor = vbRed
Else
Me.Texte2.ForeColor = vbBlack
End If

If Me.Texte2 > Me.Texte9 + 30 Then
Me.Texte2.ForeColor = vbYellow
End If


texte2 = date du jour pour moi

et texte9

date de saisie
Messages postés
1144
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
58
le voici un peu ameliorer

If Me.Texte2 >= (Me.Texte9 + 15) And Me.Texte2 <= (Me.Texte9 + 30) Then
Me.Texte2.ForeColor = vbRed
la c superieur a ta date +15 jours mais inferieur a la date +30

End If

If Me.Texte2 > (Me.Texte9 + 30) Then
Me.Texte2.ForeColor = vbYellow
End If

la c superieur a ta date + 30


If Me.Texte2 < (Me.Texte9 + 15) Then
Me.Texte2.ForeColor = vbGreen
End If
La c inferieur a ta date +15

voila voila c pas mal ca !!!!
Ah super!! merci beaucoup beaucoup !!!!! :-)