Bonsoir,
je pense que tu peux traiter ton soucis de date par une translation temporelle comme l'a suggéré fanfan38. L'idée serait d'avoir une fonction pour passer des dates anciennes aux dates excel et une fonction qui fait l'inverse pour afficher correctement les dates dans ta feuille de calcule.
Public Const ANNEE_OFFSET As Long = 3000
Function DATE_TO_EXCEL(old_date As String) As Variant
Dim d As Long, m As Long, y As Long
Dim parts() As String
On Error GoTo Err
parts = Split(old_date, "/")
If UBound(parts) <> 2 Then
DATE_TO_EXCEL = CVErr(xlErrValue)
Exit Function
End If
d = CLng(parts(0))
m = CLng(parts(1))
y = CLng(parts(2)) + ANNEE_OFFSET
newDate = DateSerial(y, m, d)
DATE_TO_EXCEL = newDate
Exit Function
Err:
DATE_TO_EXCEL = CVErr(xlErrValue)
End Function
Function OLD_DATE(exl_date As Variant) As String
Dim d As Long, m As Long, y As Long
Dim dt As Date
On Error GoTo Err
dt = CDate(exl_date)
d = Day(dt)
m = Month(dt)
y = Year(dt) - ANNEE_OFFSET
OLD_DATE = Format(d, "00") & "/" & Format(m, "00") & "/" & CStr(y)
Exit Function
Err:
OLD_DATE = CVErr(xlErrValue)
End Function
Ainsi pour calculer un nombre de jour entre deux dates tu peux faire : =JOURS(DATE_TO_EXCEL(B1); DATE_TO_EXCEL(B2))
J'espère que ceci t'aidera à avancer.
À bientôt.