DATEDIF : Différence entre deux dates

Comment calculer la différence entre deux dates ?

De façon surprenante, il existe une fonction intégrée d'excel qui fait ça très bien : DATEDIF et pourtant cette fonction, qui existe dans toutes les versions, n'a jamais été documentée dans l'aide (sauf dans celle de la version 2000).
DATEDIF(Date_début;Date_Fin;Unité)
permet de calculer le nombre de jours, de mois ou d'années entre 2 dates. Elle a été introduite au départ pour des raisons de compatibilité avec Lotus 1.2.3.

Syntaxe de DATEDIF

Les deux premiers arguments représentent respectivement le début et la fin de la période.
Les dates peuvent être inclues sous forme de chaîne de texte entre guillemets : "31/3/2007", de numéro de série du jour (39172), ou résultat d'une fonction comme dateval ou dans XL2007 date.coupon.prec.
Attention, DATEDIF calcule des INTERVALLES. Entre le 31 mars et le 2 avril, DATEDIF compte donc 2 jours.
Le troisième argument de DATEDIF, Unité, peut prendre différentes valeur

  • "Y" Le nombre d'années entières comprises dans la période.

DATEDIF("31/3/2007";"2/5/2008";"Y") renvoie 1

  • "M" Le nombre de mois entiers compris dans la période.

DATEDIF("31/3/2007";"2/5/2008";"M") Renvoie 13

  • "D" Le nombre de jours compris dans la période.

DATEDIF("31/3/2007";"2/5/2008";"D") renvoie 398

  • Beaucoup moins intuitif maintenant, "MD" La différence entre les jours de date_début et date_fin. Les années et les mois des dates sont ignorées

DATEDIF("31/3/2007";"2/5/2008";"MD") renvoie 1

  • "YM" La différence entre les mois de date_début et date_fin. Les jours et les années des dates ne sont pas pris en compte.

DATEDIF("31/3/2007";"2/5/2008";"YM") renvoie 1

  • "YD" La différence entre les jours de date_début et date_fin. Les années des dates ne sont pas prises en compte.

DATEDIF("31/3/2007";"2/5/2008";"YD") renvoie 32

Attention : il faut absolument mettre les guillemets dans la formule et même dans un classeur excel francophone, les unités sont les initiales des périodes indiquées en anglais, Year, Month, Day.

Auteur(s) : 

Commentaires

Merci
j'ai essayé le truc de ChrisV "Comment faire référence à une cellule dans une formule avec nb.si ?" et ai remplacé Date_début et Date_Fin par ""&RéférenceCellule et cela marche !
Grace à ChrisV et à Flo Cabon, j'ai pu simplifier ma formule de calcul de jours entre 2 dates et éliminer les erreurs de frappes (à l'aide du détail des unités ci-dessus; ex : 2012 au lieu de 2011)

Oui je sais le formule marche très bien d'origine avec la référence à une cellule en tant que Date_début et Date_Fin...
Mais le truc de ChrisV est toujours aussi bien ;-)


Ce mois-ci sur Excelabo

- Pas de nouvelle page.
- 7 pages modifiées.