Probleme de comparaison de date

cs_oxram Messages postés 40 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 19 juin 2005 - 21 avril 2005 à 23:30
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 22 avril 2005 à 00:06
voila quelqu'un pourrait il m'aider car je comprend pas pourquoi cela ne marche pas il m'indique type incompatible.
dte est de type date

dim annee as integer
annee = year (date)

While dte < (1 / 10 / "& annee &")

dte = DateAdd("d", 1, dte)
MsgBox ("Date : & dte &")

Wend

oxram

1 réponse

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
22 avril 2005 à 00:06
1 / 10 / "& annee &"

diviser 1 par 10 puis par une chaîne non numérique

comparaison d'une date avec une chaîne c'est pas très bon
While dte < "1/10/" & CStr(annee)
dte = DateAdd("d", 1, dte)
MsgBox ("Date :" & dte)
Wend

comparaison d'une date avec une date c'est mieux
While dte < DateSerial(annee, 10, 1)
dte = DateAdd("d", 1, dte)
MsgBox ("Date :" & dte)
Wend

supprimer les boucles pas nécessaires c'est nettement mieux
If dte < DateSerial(annee, 10, 1) Then
dte = DateSerial(annee, 10, 1)
End If
MsgBox ("Date :" & dte)

éviter les multi-conversions c'est parfait
Dim dat As Date
dat = DateSerial(annee, 10, 1)
If dte < dat Then dte = dat
MsgBox ("Date :" & dte)

Daniel
0
Rejoignez-nous