Comparer 2 périodes de date

Amstel - 19 août 2000 à 17:36
 TomAmplius - 21 août 2000 à 16:21
Est-ce que quelqu'un peut me venir en aide sur ce problème :
je veux comparer 2 périodes de dates pour savoir si celles-ci se chevauchent.

Par exemple :
La première période est du 24/08/2000 au 22/08/2000
La deuxième période est du 21/08/2000 au 29/08/2000
Je voudrais faire un test afin de savoir si la deuxième période chevauche la première période, ce qui est le cas ici... Je n'arrive pas à faire ce test en VB5 et je butte...

Si quelqu'un pouvait m'aider, ce serait sympa. Merci

2 réponses

BonjourTu peux essayer en convertissant tes dates en entier comme par exemple le 22/08/2000 20000822, 24/08/2000 20000824, 21/08/2000 = 20000821
puis faire:
Per1_Deb = 20000822
Per1_Fin = 20000824
Per2_Deb = 20000821
Per2_Fin = 20000829
For test = Pre2_Deb to Peré_Fin
if test > Per1_Deb and test < Per1_Fin then
Msgbox "Compris dans la période"
else "Non compris dans la période"
end if
Next test
C'est une idée comme une autre mais il doit y en avoir d'autre.
0
Private Function compare_date(ByRef DATE1 As Date, ByRef DATE2 As Date)
Annee_Tmp = Val(Right(Heure1, 4)) - Val(Right(Heure2, 2))
Mois_Tmp = Val(Mid(Heure1, 4, 2)) - Val(Mid(Heure2, 4, 2))
Jour_Tmp = Val(Left(Heure1, 2)) - Val(Left(Heure2, 2))
If Not Sgn(Jour_Tmp) 0 Then compare_time Sgn(Heure_Tmp)If Not Sgn(Mois_Tmp) 0 Then compare_time Sgn(Minute_Tmp)If Not Sgn(Annee_Tmp) 0 Then compare_time Sgn(Seconde_Tmp)
End Function

Renvoie : -1 Quand DATE1<DATE2
Renvoie : 0 Quand DATE1 = DATE2
Renvoie : 1 Quand DATE1>DATE2
0
Rejoignez-nous