FabriceN ObtenirDate ( datefin - dateDebut + 1 )
Donne une date avec le nombre de jours, de mois et d’années.
C'est vrai et j'aime bien l'idée d'utiliser cette fonction. Par contre, ce n'est pas suffisant pour obtenir le résultat souhaité, comme l'a souligné @JeremieGimenez.
À mon sens, il ne faut pas ajouter 1 :
ObtenirDate ( Date ( 12 ; 16 ; 2022 ) - Date ( 12 ; 15 ; 2022 ) )
renvoyant 01/01/0001, on a bien 1 jour mais par contre, on n'a pas 0 mois et 0 année.
La solution est donc de prendre le nombre de jours mais de retirer 1 du nom du nombre de mois et du nombre d'année.
Definir (
[ dat1 = Date ( 12 ; 10 ; 2022 )
; dat2 = Date ( 2 ; 15 ; 2023 )
; res = ObtenirDate ( dat2 - dat1 )
]
;
Annee ( res ) - 1& " année(s) " & Mois ( res ) - 1 & " mois " & Jour ( res ) & " jour(s) " )
Par contre, ça ne réponds pas au cahier des charges de début car ce que j'ai indiqué ci-dessus va donner 0 année(s) 2 mois 8 jour(s)
et non 2 mois et 5 jours (à cause de la différence de longueur des mois…).
Ceci dit, je n'ai pas vérifié ce que la fonction personnalisée renvoyait comme résultat avec ces arguments.