Public Function NewDateDiff(ByVal DateDebut As String, ByVal DateFin As String) As String
Dim d As Date
d = DateAdd("s", DateDiff("s", DateDebut, DateFin), "01-01-2000")
NewDateDiff = Format(d, "yyyy") - 2000 & " ans " & Format(d, "m") - 1 & " mois " & _
Format(d, "d") - 1 & " jours " & Format(d, "hh:mm:ss")
End Function
Sub EXEMPLE()
MsgBox NewDateDiff("27-02-2007 10:03:05", "31-03-2009 11:00:00")
' resultat : 2 ans 1 mois 1 jours 00:56:55
End Sub