Réservez les formations disponibles partout en France !

location-dot
location-dot
location-dot
À partir de
location-dot
image OFimage OF
  1. Accueil
  2. Pages guide
  3. DATEDIF Excel : calculer la différence entre deux dates

DATEDIF Excel : calculer la différence entre deux dates

Vous devez calculer un âge, une ancienneté ou la durée précise entre deux événements ? Sur Excel, il existe une fonction souvent méconnue, mais redoutablement efficace pour ça : DATEDIF.

 

Elle permet de calculer la différence entre deux dates sur Excel, en jours, mois ou années, sans passer par des formules complexes. Discrète dans l’interface, elle reste pourtant très utile au quotidien, que ce soit pour suivre un contrat, automatiser un reporting ou créer un tableau RH.

 

Dans ce guide, on vous montre concrètement comment utiliser DATEDIF, avec des exemples simples, les unités disponibles, les pièges à éviter… et quelques astuces en bonus. Ce tutoriel fait partie de notre série dédiée à Excel, pensée pour vous aider à progresser sur des cas d’usage concrets.



 

Présentation de la fonction DATEDIF

Parmi les fonctions de date disponibles dans Excel, DATEDIF fait figure d’ancienne, mais toujours efficace. Présente depuis les premières versions du tableur, elle n’apparaît plus dans les suggestions du ruban ou dans l’aide contextuelle… cependant, elle fonctionne parfaitement, y compris dans Excel 365.

 

Son objectif est simple : calculer la différence entre deux dates selon une unité choisie — en jours, en mois ou en années. C’est un outil précieux pour automatiser des calculs de durée, sans passer par des formules alambiquées.

 

Elle est particulièrement utile dans des cas très concrets : afficher l’âge d’un salarié en années et mois, suivre l’évolution d’un projet, calculer l’ancienneté d’un collaborateur ou encore déterminer la durée entre deux échéances. Dans le domaine RH comme en gestion de projet, elle permet de gagner du temps tout en fiabilisant les résultats.

 

Si elle passe parfois inaperçue dans l’interface, DATEDIF reste une formule Excel puissante, idéale pour travailler proprement avec les dates.

 

⚠️ Important : Microsoft signale que DATEDIF peut parfois calculer des résultats incorrects et recommande de l'utiliser avec précaution. Pour les usages courants (âge, ancienneté), elle reste cependant largement utilisée et fiable.

 

Syntaxe et arguments de la fonction DATEDIF

La fonction DATEDIF sert à calculer la durée entre deux dates selon l’unité que l’on choisit : jours, mois, années… Elle repose sur trois éléments indispensables, à saisir entre parenthèses et séparés par des points-virgules :

  • La date de début : la date la plus ancienne.
  • La date de fin : la date la plus récente.
  • L’unité : une chaîne de caractères indiquant ce que l’on souhaite calculer.

 

Les différentes unités disponibles


Unité Signification Résultat
"Y" Nombre d’années entières entre les deux dates Entier (années)
"M" Nombre de mois entiers entre les deux dates Entier (mois)
"D" Nombre total de jours entre les deux dates Entier (jours)
"YM" Mois restants après retrait des années complètes Entier (de 0 à 11)
"YD" Jours restants après retrait des années complètes Entier (de 0 à 364)
"MD" Jours restants après retrait des mois complets Entier (de 0 à 30)


Unités complémentaires : ce qu’il faut comprendre

Les unités "YM", "YD" et "MD" permettent de calculer un reste une fois que les années ou les mois entiers ont été retirés.


Elles sont utiles quand on veut détailler une durée en plusieurs parties. Par exemple, pour afficher un âge comme 34 ans et 5 mois, on combinera :

  • "Y" pour les années complètes
  • "YM" pour les mois restants

 

Ce fonctionnement permet d’adapter finement les résultats à chaque besoin : suivi RH, durée d’un contrat, échéance d’un projet, etc.

 

Exemples d’utilisation concrets

Voici plusieurs cas pratiques pour mieux comprendre comment utiliser la fonction DATEDIF selon le type de durée que vous souhaitez calculer.

 

Calculer une différence en nombre de jours

Prenons deux dates simples :

  • A2 contient la date de début : 01/03/2024
  • B2 contient la date de fin : 15/06/2024

 

La formule à utiliser est :
=DATEDIF(A2; B2; "D")

 

Le résultat obtenu est 106, soit le nombre total de jours entre les deux dates, sans tenir compte des mois ou des années.

 

Obtenir le nombre d’années entières

Pour calculer l’ancienneté ou l’âge en années complètes, on peut utiliser la même logique avec l’unité "Y".

Exemple :

  • A2 = 25/11/1990 (date de naissance)
  • B2 = 05/06/2025 (date du jour)

 

Formule :
=DATEDIF(A2; B2; "Y")

 

Le résultat est 34. Cela correspond à 34 années pleines, sans tenir compte des mois ni des jours restants.

 

Afficher un âge en années et mois

Si l’on souhaite un résultat plus précis, comme “34 ans 6 mois”, on peut combiner deux calculs :

  • =DATEDIF(A2; B2; "Y") pour les années
  • =DATEDIF(A2; B2; "YM") pour les mois restants

 

Avec les mêmes dates qu’au-dessus :

  • A2 = 25/11/1990
  • B2 = 05/06/2025

 

Le premier calcul renvoie 34, le second 6. En les assemblant :


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


Le résultat final affiché dans la cellule est : 34 ans 6 mois.

 

Connaître les années et les jours restants

Autre variation possible : obtenir le nombre d’années complètes, suivi du nombre de jours restants une fois ces années soustraites.

 

La formule devient :


=DATEDIF(A2; B2; "Y") & " ans " & DATEDIF(A2; B2; "YD") & " jours"

 

Ici, "YD" renvoie uniquement les jours excédentaires après retrait des années entières. Cela peut être utile pour certaines échéances RH ou juridiques.

 

Calculer un total de mois (années + mois restants)

Excel ne propose pas d’unité directe pour le nombre total de mois entre deux dates. Mais on peut le reconstituer en combinant :

  • Les années converties en mois : DATEDIF(A2; B2; "Y") * 12
  • Les mois restants : DATEDIF(A2; B2; "YM")

 

Par exemple :

  • A2 = 01/01/2023
  • B2 = 15/06/2025

 

Le calcul donne :

  • 2 années complètes → 24 mois
  • 5 mois restants → 5 mois

 

Soit un total de 29 mois, obtenu avec la formule :
=DATEDIF(A2; B2; "Y") * 12 + DATEDIF(A2; B2; "YM")

 

Pièges et bonnes pratiques

Même si la fonction DATEDIF est simple dans sa forme, quelques détails techniques peuvent fausser les résultats ou générer des erreurs. Voici ce qu’il faut avoir en tête pour éviter les pièges classiques.

 

Format des dates dans Excel

Dans Excel, une date est en réalité un nombre sériel, qui correspond au nombre de jours écoulés depuis le 1er janvier 1900 (sur Windows). Ce fonctionnement permet d’effectuer des calculs, mais il exige que les dates soient bien reconnues comme telles.

 

  • Si une cellule contient une date au format texte (par exemple "2024-03-01" saisi manuellement entre guillemets), la fonction DATEDIF renverra une erreur #VALEUR!.
  • Pour éviter ça, deux solutions simples :
    • Formater les cellules concernées en Date
    • Ou utiliser la fonction DATE(année; mois; jour) pour générer la date proprement

 

Une fonction qui n’apparaît pas dans le ruban

DATEDIF n’est plus mise en avant dans les menus d’aide ou les suggestions automatiques des versions récentes d’Excel (comme Excel 365 ou Excel 2019). Elle reste pourtant tout à fait fonctionnelle.

  • Il suffit de la taper manuellement dans la barre de formule : Excel l’exécutera normalement.
  • Si la formule est correcte mais qu’une erreur s’affiche, le problème vient souvent des dates elles-mêmes (format, ordre, cellule vide…).

 

Attention aux dates inversées

Si la date de fin est antérieure à la date de début, Excel renvoie une erreur #NUM!.

 

  • Pour l’éviter, on peut sécuriser la formule avec une condition simple :

    =SI(B2<A2; "Erreur : date fin < date début"; DATEDIF(A2; B2; "D"))

 

  • Autre option : inverser les dates automatiquement ou forcer un retour à zéro si l’écart est négatif, selon ce que vous souhaitez afficher.

 

Pièges liés aux mois et aux années

Certains résultats peuvent paraître surprenants si l’on ne connaît pas les subtilités du calcul par DATEDIF.

  • Tous les mois n’ont pas 30 jours : si vous avez besoin d’une précision absolue, mieux vaut utiliser l’unité "D" pour compter les jours exacts.
  • Années bissextiles prises en compte :
    • Entre le 01/03/2019 et le 28/02/2020 → DATEDIF(...;...;"Y") renvoie 0
    • Entre le 01/03/2019 et le 01/03/2020 → le résultat est 1
  • Unité "MD" parfois déroutante :

Prenons :

=DATEDIF("31/01/2024"; "01/03/2024"; "MD")

 

Le résultat affiché est 1 jour. Le mois de février est complètement ignoré dans ce type de calcul, car "MD" ne prend en compte que les jours restants après retrait des mois complets, sans considération pour leur durée réelle.

 

👉 À utiliser uniquement si vous avez besoin de ce type de reste très spécifique.

 

Alternatives et compléments à DATEDIF

Selon le niveau de précision recherché ou les contraintes du fichier, d'autres méthodes peuvent être utilisées en complément ou à la place de DATEDIF. Certaines sont plus flexibles, d'autres plus techniques.

 

Extraire manuellement les composantes d’une date

Si vous avez besoin de manipuler séparément l’année, le mois ou le jour d’une date, vous pouvez utiliser les fonctions de base suivantes :

  • ANNEE() pour isoler l’année
  • MOIS() pour obtenir le mois
  • JOUR() pour extraire le jour

Ces fonctions permettent de construire des calculs personnalisés (par exemple : comparer uniquement les mois ou ajuster un tarif selon l’année).

 

Mais attention : les calculs manuels entre deux dates peuvent devenir complexes, notamment lors des transitions de mois ou d’années. DATEDIF reste souvent plus fiable pour éviter les erreurs de logique.

 

Utiliser Power Query dans un contexte de BI

Dans un fichier connecté à Power Query, vous pouvez obtenir la durée entre deux dates à l’aide des fonctions spécifiques du langage M :

  • Duration.Days pour le nombre de jours
  • Duration.TotalMonths pour le nombre total de mois
  • Duration.TotalYears pour une estimation en années

 

Ces approches sont utiles dans un environnement de traitement automatisé ou dans un tableau de bord, mais ne s’utilisent pas directement dans les cellules Excel classiques. Elles nécessitent d’avoir converti les données en colonnes de type Duration.

 

Créer des calculs sur mesure avec VBA

Pour les cas les plus complexes, Excel peut atteindre ses limites. C’est notamment vrai si vous devez :

  • Exclure automatiquement les week-ends
  • Prendre en compte des jours fériés définis dans une liste
  • Générer des échéances ou des mensualités ajustées au prorata

 

Dans ces situations, un script VBA permet de contourner les limites des fonctions standards. Par exemple, on peut programmer une fonction personnalisée qui calcule un nombre de jours ouvrés entre deux dates, en intégrant un calendrier spécifique à l’entreprise.

 

 

Pour calculer la différence entre deux dates sur Excel avec DATEDIF, il suffit de connaître les bonnes unités et de respecter la syntaxe. Que ce soit pour afficher un âge, mesurer une durée de contrat ou structurer un suivi RH, cette fonction reste simple, rapide et efficace.


Même si elle n’est pas toujours visible dans les menus d’Excel, DATEDIF continue d’être largement utilisée, notamment pour ses résultats clairs en jours, mois ou années. En combinant quelques variantes et en évitant les pièges courants (formats, dates inversées, bissextiles), on obtient un outil fiable et adapté à de nombreux cas.


Pour aller plus loin et gagner en efficacité sur Excel, consultez les prochaines formations disponibles sur oùFormer et formez vos équipes aux bonnes pratiques du tableur.


Autres tutoriels Excel à découvrir

logo ouformer
Réalisation :Definima
Utilisation des cookies

Nous utilisons des cookies pour vous fournir l'ensemble de nos services, notamment la recherche et les alertes. En acceptant, vous consentez à notre utilisation de ces cookies.

Refuser
Accepter