1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Function DiffDateAMJ(DateDebut As Date, DateFin As Date) As String
Dim NbAns As Long, NbMois As Long, NbJours As Long
Dim Tmp As Date, sA As String, sM As String, sJ As String
Tmp = DateSerial(Year(DateFin), Month(DateDebut), Day(DateDebut))
NbAns = Year(DateFin) - Year(DateDebut) + (Tmp > DateFin)
NbMois = Month(DateFin) - Month(DateDebut) - (12 * (Tmp > DateFin))
Rem : [ Date Début, Date Fin ]
NbJours = Day(DateFin) - Day(DateDebut) + 1
If NbJours < 0 Then
NbMois = NbMois - 1
NbJours = Day(DateSerial(Year(DateFin), Month(DateFin), 0)) + NbJours
End If
If NbAns = 0 Then sA = "" Else sA = NbAns & "a "
If NbMois = 0 Then sM = "" Else sM = NbMois & "m "
If NbJours = 0 Then sJ = "" Else sJ = NbJours & "j"
DiffDateAMJ = Trim$(sA & sM & sJ)
End Function |
Partager