[Catégorie modifiée .Net -> VBA] stion couleur etat access

dranok Messages postés 7 Date d'inscription mardi 12 avril 2011 Statut Membre Dernière intervention 20 mai 2011 - 19 mai 2011 à 09:11
dranok Messages postés 7 Date d'inscription mardi 12 avril 2011 Statut Membre Dernière intervention 20 mai 2011 - 19 mai 2011 à 14:22
Bonjour,

j'ai un problème qui me semble pourtant facile mais je bloque dessus depuis un bon moment.
Je voudrais que la couleur de mes lignes d'un etat soit verte orange ou rouge en fonction de la date de cette ligne par rapport à la date actuelle.
J'ai essayé de modifier la couleur en vba grâce à la fonction .forecolor=QBcolor() et cela marche mais je n'arrive pas à faire ce changement en fonction de datediff.
if datediff("d", champs_date, now())then
champs_1.ForeColor=QBcolor(12)
champs_2.ForeColor=QBcolor(12)
champs_3.ForeColor=QBcolor(12)
champs_4.ForeColor=QBcolor(12)
end if

Cela marche sans la condition mais lorsque je met datediff plus rien ne marche. Aidez moi s'il vous plait. J'espère que je me suis assez bien expliqué. Merci d'avance.

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
19 mai 2011 à 10:38
Salut

Tu fais du VBA, pas du .Net

If DateDiff("d", champs_date, Now()) Then
Il serait judicieux de coller le véritable code de ton programme - les minuscules montrent que tu l'as retapé à la main = source d'erreur possible.

" Quelle différence y a t-il entre un mouton ? "
Tu te rappelle surement de ce sketch de Coluche.
Et bien ta ligne de programme est aussi rigolote : Tu n'as mis qu'une seule partie de ta question, manque la comparaison
Comme tu as pu le voir dans l'aide de la fonction DateDiff, cette fonction renvoie une valeur numérique.
Alors, If Valeur ... ?

Vala
Jack, =fr MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
dranok Messages postés 7 Date d'inscription mardi 12 avril 2011 Statut Membre Dernière intervention 20 mai 2011
19 mai 2011 à 14:22
Salut Jack,
je suis désolé de mon code approximatif.
J'ai donc un etat qui affiche la liste des maintenances futures à faire et je voudrais que la couleur change (vert, orange, rouge) en fonction de la date entrée en paramètre par rapport à la date du jour.
Voila le code que j'ai fait mais qui ne marche pas :

Private Sub Report_Open(Cancel As Integer)

If DateDiff("d", date_future_maint, Now()) Then
nom_machine.ForeColor = QBColor(12)
date_future_maint.ForeColor = QBColor(12)
intervention_future_maint.ForeColor = QBColor(12)
observation_future_maint.ForeColor = QBColor(12)
End If

End Sub

J'espère que tu pourras m'aider car je sens que c'est simple mais je bloque depuis un petit moment maintenant.
Merci d'avance.
0
Rejoignez-nous