Sub Test()
Dim zv_debut As Date, zv_fin As Date
zv_debut = #4/16/2019#
zv_fin = Date
nbre_mois = EvaluateDateDif(zv_debut, zv_fin, "m") + (EvaluateDateDif(zv_debut, zv_fin, "md") / Day(DateSerial(Year(zv_fin), Month(zv_fin) + 1, 1) - 1))
Debug.Print nbre_mois
End Sub
Function EvaluateDateDif(DateDeb As Date, DateFin As Date, Quoi As String)
Dim sDateDeb As String, sDateFin As String
Dim sForm As String
' Convertir la date au format américain + texte
sDateDeb = Format(DateDeb, "mm/dd/yyyy")
' Convertir la date au format américain + texte
sDateFin = Format(DateFin, "mm/dd/yyyy")
' Inclure la transformation en date des dates texte... et oui ça marche comme ça ;-)
sForm = "datedif(" & "datevalue(""" & sDateDeb & """)" & ",datevalue(""" & sDateFin & """),""" & Quoi & """)"
EvaluateDateDif = Application.Evaluate(sForm)
End Function