dranok
Messages postés7Date d'inscriptionmardi 12 avril 2011StatutMembreDernière intervention20 mai 2011
-
19 mai 2011 à 09:11
dranok
Messages postés7Date d'inscriptionmardi 12 avril 2011StatutMembreDernière intervention20 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.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
dranok
Messages postés7Date d'inscriptionmardi 12 avril 2011StatutMembreDernière intervention20 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.