Date dans une MSFlexgrid

Résolu
cs_FASH Messages postés 52 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 8 août 2005 à 12:13
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 - 9 août 2005 à 09:10
Bonjour à tous

Je suis en VBJ et jai une MSFlexgrid dans laquelle il y a une colonne contenant des dates. Je dois mettre ces dates en rouge chaque fois que la date de la cellule est < à la date d'aujourd'hui.

Je parcours chaque ligne de cette colonne mais les dates ne se mettent pas en rouge. Je pense que c'est un problème de format de date dans la MSFlexgrid mais comment résoudre cela?

Voici le code:


for i = 1 to rs.recordcount
MSFlexgrid .col = 23
if MSFlexgrid .textmatrix(i,23)< Date then
MSFlexgrid .cellforecolor = vbred
end if
next i

D'avance merci
FASH

5 réponses

cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 1
9 août 2005 à 09:10
Bonjour,

A mon avis oui, il faut alors rajouter une condition :

for i = 1 to rs.recordcount
MSFlexgrid .col = 23
if MSFlexgrid .textmatrix(i,23)<>"" then
if DateDiff("d", Format(MSFlexgrid .textmatrix(i,23),"dd/mm/yyyy"),Date)>0 then
MSFlexgrid .cellforecolor = vbred
end if
End if
next i

ou bien
if isdate(Format(MSFlexgrid .textmatrix(i,23),"dd/mm/yyyy")=true then
3
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 1
8 août 2005 à 12:52
Hello,

Moi j'utiliserai la fonction DateDiff, c certainement mieux

a+
0
cs_FASH Messages postés 52 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 13 mars 2006
8 août 2005 à 13:30
Hello

Avec le fonction datediff, je calcule des différences de dates, mais je ce que je voudrais c'est tester chaque cellule de la MSFlexgrid pour voir si elle inférieure à la date du jour. Comment faire avec la fonction que tu dis?

FASH
0
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 1
8 août 2005 à 13:37
Voila :

for i = 1 to rs.recordcount
MSFlexgrid .col = 23
if DateDiff("d", Format(MSFlexgrid .textmatrix(i,23),"dd/mm/yyyy"),Date)>0 then
MSFlexgrid .cellforecolor = vbred
end if
next i

La comparaison se fait sur le jour, si tu as besoin de plus de précision, tu peux remplacer le "d" par "h" pour les heures, "n" pour les minutes ou "s" pour les secondes
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_FASH Messages postés 52 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 13 mars 2006
9 août 2005 à 08:46
Hello Tipo
j'ai utilisé la fonction datediff mais j'ai une erreur de 'type mismatch' dès qu'il commence à parcourir la colonne de la msflexgrid.
Dans certaine cellule, il arrive qu'il n'y ait pas de date, est-cela qui est en cause?

FASH
0
Rejoignez-nous