(la date 1 doit être inférieure à la date 2)
1) Placer le code suivant dans un module :
'Nombre d'années
Function DifDateAnnee(pDate1 As Date, pDate2 As Date) As Long
DifDateAnnee = DateDiff("yyyy", pDate1, pDate2)
End Function
'Nombre de mois
Function DifDateMois(pDate1 As Date, pDate2 As Date) As Long
DifDateMois = DateDiff("m", pDate1, pDate2)
End Function
'Nombre de jours
Function DifDateJour(pDate1 As Date, pDate2 As Date) As Long
DifDateJour = DateDiff("d", pDate1, pDate2)
End Function
2) Puis faire appel à cette fonction dans une procédure quelconque :
Sub DifferenceEntre2Dates()
Dim Date1 As Date, Date2 As Date
Date1 = "01/12/2013"
Date2 = "15/04/2016"
MsgBox "Nombre d'années entre les 2 dates : " & DifDateAnnee(Date1, Date2)
MsgBox "Nombre de mois entre les 2 dates : " & DifDateMois(Date1, Date2)
MsgBox "Nombre de jours entre les 2 dates : " & DifDateJour(Date1, Date2)
End Sub