Aller au contenu principal

DATEDIF dans Excel : formule, exemples et exercices corrigés

Mis à jour le

DATEDIF compte les années, les mois ou les jours complets entre deux dates. Par exemple, =DATEDIF(B2;C2;"Y") renvoie 9 pour une personne entrée le 14 septembre 2015 et partie le 31 mars 2025. La date de début vient en premier et l’unité s’écrit entre guillemets.

Syntaxe de DATEDIF

=DATEDIF(date_début; date_fin; unité)

date_début
La date la plus ancienne : une cellule comme B2, ou DATE(2015;9;14). Elle ne doit pas être postérieure à date_fin.
date_fin
La date la plus récente, par exemple une échéance ou une date de référence fixe dans une cellule figée comme $F$1.
unité
Ce qu’il faut compter, entre guillemets : "Y" années complètes, "M" mois complets, "D" jours, "YM" mois restants après les années, "MD" jours restants après les mois, "YD" jours restants après les années. Les lettres restent en anglais dans la version française.

Exercices DATEDIF à faire ici

Tapez votre formule directement dans la feuille. Elle est vérifiée comme dans Excel, avec des points-virgules ou des virgules, en français ou en anglais.

Exercice 1 sur 1

Calculer l’ancienneté en années complètes

Camille est entrée dans l’entreprise à la date en B2 et l’a quittée à la date en C2. En D2, calculez son ancienneté en années complètes avec DATEDIF.

SalariéDate d’entréeDate de sortieAnnées complètes
Camille Martin14/09/201531/03/2025

Comment utiliser DATEDIF, étape par étape

  1. Cliquez sur la cellule du résultat et tapez =DATEDIF( en entier : Excel ne la propose pas dans la liste des fonctions et n’affiche pas d’info-bulle pour ses arguments.
  2. Sélectionnez la date de début, tapez un point-virgule, puis sélectionnez la date de fin.
  3. Tapez un point-virgule et l’unité entre guillemets : "Y" pour les années, "M" pour les mois, "D" pour les jours.
  4. Fermez la parenthèse et validez avec Entrée. DATEDIF ne compte que les unités complètes et n’arrondit jamais au-dessus.

Exemples de DATEDIF

Ancienneté en années

=DATEDIF(B2;C2;"Y")

Du 14 septembre 2015 au 31 mars 2025 : 9 années complètes.

Durée d’un contrat en mois

=DATEDIF(B2;C2;"M")

Du 1er février 2023 au 31 janvier 2025 : 23 mois complets.

Jours jusqu’à une échéance

=DATEDIF(B2;C2;"D")

Du 3 février au 18 juin 2025 : 135 jours.

Âge en ans et en mois

=DATEDIF(B2;C2;"Y")&" ans "&DATEDIF(B2;C2;"YM")&" mois"

Née le 22 juillet 1990, au 15 mars 2025 : 34 ans 7 mois.

Erreurs fréquentes et solutions

ErreurCauseSolution
#NOMBRE!La date de début est postérieure à la date de fin, par exemple quand les deux cellules sont inversées.Mettez la date la plus ancienne en premier : =DATEDIF(B2;C2;"Y"), avec B2 avant C2.
#NOMBRE! (unité)L’unité n’existe pas pour DATEDIF, par exemple "A" pour années, "YY" ou "W" pour semaines.Utilisez "Y", "M", "D", "YM", "MD" ou "YD". Pour des semaines, divisez les jours par 7 : =DATEDIF(B2;C2;"D")/7.
#VALEUR!Une des dates est du texte qu’Excel ne reconnaît pas comme une date, par exemple une date collée depuis un autre logiciel.Convertissez la cellule en vraie date (elle s’aligne à droite), ou construisez-la avec DATE(année;mois;jour).
#NOM?L’unité n’a pas de guillemets (Y au lieu de "Y") ou le nom de la fonction est mal orthographié.Mettez l’unité entre guillemets droits et tapez le nom en entier : DATEDIF.

DATEDIF, soustraction de dates ou FRACTION.ANNEE ?

Soustraire deux dates (=C2-B2) donne le nombre de jours, comme DATEDIF avec "D", mais la cellule du résultat peut prendre un format date et afficher une date au lieu d’un nombre. Diviser ces jours par 365 donne des décimales et se décale avec les années bissextiles. FRACTION.ANNEE renvoie la fraction d’année entre deux dates (environ 9,5 ans par exemple), utile pour des intérêts ou un prorata. DATEDIF renvoie des unités entières et complètes : c’est ce qu’il faut pour un âge, une ancienneté ou la durée d’un contrat. Microsoft conserve DATEDIF pour la compatibilité et prévient que "MD" peut donner des résultats faux autour des fins de mois.

Questions fréquentes

Pourquoi je ne trouve pas DATEDIF dans Excel ?

DATEDIF n’apparaît ni dans les suggestions de fonctions ni dans la boîte de dialogue Insérer une fonction, mais elle fonctionne dans les versions actuelles d’Excel. Tapez =DATEDIF( en entier et Excel l’accepte.

Comment calculer un âge dans Excel ?

Utilisez =DATEDIF(B2;C2;"Y"), avec la date de naissance en B2 et la date de calcul en C2. Ajoutez DATEDIF(B2;C2;"YM") pour les mois restants.

Peut-on utiliser AUJOURDHUI() comme date de fin ?

Oui : =DATEDIF(B2;AUJOURDHUI();"Y") donne un âge qui se met à jour chaque jour. Pour un rapport qui ne doit pas changer, mettez une date fixe dans une cellule et figez-la avec $F$1.

Pourquoi DATEDIF renvoie #NOMBRE! ?

Presque toujours parce que la date de début est postérieure à la date de fin. DATEDIF ne renvoie pas de résultat négatif : inversez les deux dates, ou vérifiez que les deux cellules contiennent de vraies dates.

Continuez à pratiquer

Les 5 exercices DATEDIF, avec explications et suivi de progression.

Ouvrir les exercices DATEDIF