Différence entre 2 dates – DATEDIF

Dernière mise à jour le 06/08/2025
Temps de lecture : 3 minutes

Faire une différence entre deux dates est une opération complexe mais qui se simplifie avec la fonction DATEDIF d'Excel. Le seul problème, c'est que cette fonction est une fonction masquée 🤔😯

Frédéric Le Guenex-Microsoft MVP 2010-2025
Date et HeureMis à jour le 06/08/20253 min de lecture

Problème posé par la différence entre 2 dates

Prenons l'exemple suivant où nous avons 9 jours d'écart entre les 2 dates. Seulement, à y regarder de plus près, les 2 dates sont sur 2 mois différents.

Faire une différence entre 2 dates avec 2 fonction MOIS entraine des erreurs de calcul

Autrement dit, si nous voulons connaître l'écart en nombre de mois, nous pourrions écrire la formule suivante avec fonction MOIS.

=MOIS(B1)-MOIS(B2)

Malheureusement pour nous, cette formule nous retourne la valeur 1 (cf l'image plus haut) or, il n'y a pas 1 mois d'écart entre les dates.

Le résultat est donc faux avec cette méthode.

La fonction DATEDIF

Pour faire une différence entre deux dates, Excel possède une fonction incroyable, il s'agit de la fonction DATEDIF. Seulement, cette fonction est cachée. 😯

La fonction DATEDIF n'apparait pas dans la liste des fonctions Excel
La fonction DATEDIF n'apparait pas dans la liste des fonctions

Pour vous en rendre compte, il vous suffit d'appeler l'aide en ligne sur cette fonction ou de la chercher dans le menu d'insertion d'une fonction. Nulle part vous la trouverez et pourtant elle fonctionne parfaitement (ils sont bizarre chez Microsoft 🤔).

Paramètres de la fonction DATEDIF

La fonction DATEDIF a besoin de 3 paramètres pour fonctionner.

  1. Une première date : Indiquer la valeur de la date la plus ancienne.
  2. Une seconde date : Cette valeur est nécessairement supérieure à la première date.
  3. Le paramètre de calcul : Vous pouvez indiquer si vous voulez compter le nombre d'années, de mois ou de jours.

=DATEDIF(date1;date2;paramètre)

Les 2 premiers paramètres de la fonction se comprennent d'eux-mêmes. Par contre, le troisième paramètre est de loin le plus important car c'est lui qui va déterminer le type de calcul d'écart qui sera réalisé.

Explication des valeurs du troisième paramètre

Les 3 paramètres attendues peuvent être

  • "d" (day) calcule l'écart en nombre de jours entre les 2 dates
  • "m" (month) calcule l'écart en nombre de mois
  • "y" (year) calcule l'écart en nombre d'années
Résultat en jours, mois ou années retourné par la fonction DATEDIF

Remarque : l'écart en nombre de mois est très intéressant pour l'échéance de contrat d'assurance par exemple ; 24 mois, 36 mois, ...

Paramètres avancés

Il est aussi possible d'écrire le 3e paramètre en repartant de 0 après chaque période. Ce sont ces paramètres qu'il faut utiliser pour les calcul d'ancienneté par exemple

  • "ym" va retourner le nombre de mois écoulés depuis le début d'une période. Valeur possible entre 0 et 11 car le 12ème mois, l'année change
  • "md" va retourner une valeur entre 0 et 30. Enfin cela dépend évidemment du nombre de jours durant le mois mais la fonction connait précisément le nombre de jours pour chaque mois
  • "yd"est beaucoup moins utile, mais ce code retourne le nombre de jours écoulés depuis le début de la période. Valeur possible entre 0 et 364.

Cas pratique : calculer de l'ancienneté

En colonne B, nous avons les dates d'embauche de nos employés. La deuxième date est la date du jour courant retourné par la fonction AUJOURDHUI. Nous avons donc les formules suivantes

  • Pour les années seules =DATEDIF($B5,$D$1,"y")
  • Pour les mois à l'intérieur d'une année =DATEDIF($B5,$D$1,"ym")
  • Pour les jours à l'intérieur d'un mois =DATEDIF($B5,$D$1,"md")
Calcul de l'ancienneté grâce à la fonction DATEDIF

Articles liés

46 commentaires

  1. Lud
    09/09/2024 @ 23:43

    Bonjour,

    Cela fait quelques heures que j'essaie de transposer cette formule :

    =DATEDIF(D13;E13;"y")&" années "&DATEDIF(D13;E13;"ym")&" mois "&DATEDIF(D13;E13;"md")&" jours "

    Dans une macro sous Excel365 où D13 serait la dateNaissance et E13 dateDeces.

    Je n'y suis jamais parvenu 🙁
    DATEDIFF en VBA ne réagit pas du tout de la même façon. Maintenant, je ne suis pas un expert non plus.

    Si une bonne âme peut me mettre sur la voie... Je la remercie d'avance 🙂

    Répondre

  2. Daniel
    16/04/2024 @ 16:25

    bonjour,

    la fonction parait formidable mais elle ne fonctionne pas ou je ne sais pas la faire fonctionner.

    voici ce que je fais
    cellule C3: =AUJOURDHUI() donne 16/04/2024
    cellule H28: =DATE(1986;3;3) donne 03/03/1986

    cellule I28: =DATEDIF(H28;C3;"Y") donne 07/02/1900

    conclusion: DATEDIF ne fonctionne pas dans mon cas. je ne sais pas pourquoi...

    Répondre

    • Frédéric LE GUEN
      16/04/2024 @ 19:22

      Ca marche mais votre cellule I28 est au format Date. Il faut la laisser au format Général

      Répondre

  3. bruno michalon
    10/02/2024 @ 11:11

    bonjour à vous, est-ce qu'il y aurait une façon de faire fonctionner DATEDIF pour obtenir une durée en jours et heures ; p ex : 10 février 2024 11h pour un départ le 2 janvier 13h résultat 38 j 22h ? je vous remercie

    Répondre

    • Frédéric LE GUEN
      10/02/2024 @ 14:49

      Bonjour, cet article vous apportera la réponse. Tout dépend si vous incluez ou non la date avec l'heure dans une même cellle

      Répondre

  4. Anonime
    19/10/2023 @ 10:20

    Merci pour votre présentation. Bonne continuation à vous.

    Répondre

  5. GARCIA SIHAM
    11/09/2021 @ 23:30

    bonjour
    j'ai besoin une formulaire qui compare entre 3 date : date début ; date fin et le mois
    objectif est que un client ex : date entrée 03/2021 date fin 08/2021 et pendant cette période il paye 250dh/mois

    date début date fin 01/2021 02/2021 03/2021 04/2021 05/2021 06/2021 07/2021 08/2021 09/2021 10/2021 11/2021

    03/2021 08/2021 0 0 250 250 250 250 250 250 0 0 0

    Répondre

  6. Lo
    12/06/2018 @ 16:22

    Bonjour,

    Je cherche à automatiser la fonction datedif. Sur un tableau excel, j'ai entré des dates de référence (date d'embauche, date de référence et date de naissance) afin de calculer l'âge et l'ancienneté du salarié. Puis-je sélectionner ces dates sur mon tableau pour entrer dans la formule (au lieu de les noter à la main dans la formule) ? J'utiliserai ceci pour que chaque année, je puisse changer les dates de référence et que le calcul de l'âge et de l'ancienneté se fasse automatiquement !
    Est-ce possible de faire ce que je souhaite ?

    Cordialement,

    Répondre

  7. mi-yata65
    22/05/2018 @ 22:24

    Je ne sais pas pourquoi mon texte ne s'affiche pas correctement ???
    Je remets le texte qui est mal écrit dans ma requête...
    Encore une fois désolé ...
    Ce sera ma dernière tentative.
    ========================

    lorsque K17 est postérieur à $C$1 (étant la date d'aujourd'hui) .
    J'ai rajouté la formule suivante en bout de la formule ci-dessus:

    &SI(ET(K171;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")&SI(ET(K17<AUJOURDHUI());"Dépassé";"")

    Mais ça ne marche pas.

    Je ne sais pas pourquoi?
    Surtout que lorsque j'écris simplement la formule suivante avec une date K17 postérieure à $C$1 :
    =SI(ET(K17<AUJOURDHUI());"Dépassé";"")
    ça fonctionne.

    Merci d'avance à celui qui voudra bien m'aider.

    Répondre

  8. mi-yata65
    22/05/2018 @ 18:28

    Je remets ce message car il y une erreur dans mon écrit...
    =========

    Bonjour,
    J'utilise l'étiquette DATEDIF comme si dessous:

    =DATEDIF($C$1;K17;"Y")&SI(DATEDIF($C$1;K17;"Y")>1;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")

    ($C$1 étant la date d'aujourd'hui)
    ça fonctionne.
    j'ai le nombre d'année,mois et jour restant entre deux dates.
    C'est ce que je cherche.
    Mais, il y a un "mais" quand la date en K17 est postérieur à $C$1 j'ai une erreur (#NOMBRE!)
    Alors que quand K17 est antérieur ça marche, j'ai le nombre d'année,mois,jours restant.
    Donc ça c'est mon premier soucis.
    Et mon deuxième soucis, avec cette même formule comme ci-dessus, j'aimerais avoir un texte qui s'affiche comme "dépassé"
    lorsque K17 est postérieur à $C$1 (étant la date d'aujourd'hui) .
    J'ai rajouté la formule suivante en bout de la formule ci-dessus:
    &SI(ET(K171;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")&SI(ET(K17<AUJOURDHUI());"Dépassé";"")
    Mais ça ne marche pas.
    Je ne sais pas pourquoi?
    Surtout que lorsque j'écris simplement la formule suivante avec une date K17 postérieure à $C$1 :
    =SI(ET(K17<AUJOURDHUI());"Dépassé";"")
    ça fonctionne.

    Merci d'avance à celui qui voudra bien m'aider.

    Répondre

    • mi-yata65
      22/05/2018 @ 18:35

      Je ne sais pas pourquoi mon texte ne s'affiche pas correctement ???
      Je remets le texte qui est mal écrit dans ma requête...
      Désolé...
      =====================

      lorsque K17 est postérieur à $C$1 (étant la date d'aujourd'hui) .
      J'ai rajouté la formule suivante en bout de la formule ci-dessus:

      &SI(ET(K171;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")&SI(ET(K17<AUJOURDHUI());"Dépassé";"")

      Mais ça ne marche pas.
      ======================

      Répondre

      • Frédéric LE GUEN
        22/05/2018 @ 18:51

        Bonjour,
        ET(K171;" ans, ";" an, ") ça ne veut rien dire.
        La fonction ET (comme OU d'ailleurs) s'attend à recevoir des tests logiques or ici il n'y en a aucun

  9. mi-yata65
    22/05/2018 @ 18:04

    Bonjour,
    J'utilise l'étiquette DATEDIF comme si dessous:

    =DATEDIF($C$1;K17;"Y")&SI(DATEDIF($C$1;K17;"Y")>1;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")

    ($C$1 étant la date d'aujourd'hui)
    ça fonctionne.
    j'ai le nombre d'année,mois et jour restant entre deux dates.
    C'est ce que je cherche.
    Mais, il y a un "mais" quand la date en K17 est postérieur à $C$1 j'ai une erreur (#NOMBRE!)
    Alors que quand K17 est antérieur ça marche, j'ai le nombre d'année,mois,jours restant.
    Donc ça c'est mon premier soucis.
    Et mon deuxième soucis, avec cette même formule comme ci-dessus, j'aimerais avoir un texte qui s'affiche comme "dépassé"
    lorsque K17 est postérieur à $C$1 (étant la date d'aujourd'hui) .
    J'ai rajouté la formule suivante en bout de la formule ci-dessus:
    &SI(ET(K171;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")&SI(ET(K17<AUJOURDHUI());"Dépassé";"")
    Mais ça ne marche pas.
    Je ne sais pas pourquoi?
    Surtout que lorsque j'écris simplement la formule suivante avec une date K17 postérieure à $C$1 :
    =SI(ET(K17<AUJOURDHUI());"Dépassé";"")
    ça fonctionne.

    Merci d'avance à celui qui voudra bien m'aider.

    Répondre

  10. Véronique Turque
    07/05/2018 @ 15:40

    Bonjour,
    pour ma part dans une colonne qui va me calculer le nombre de mois total entre 2 dates d'une mesure avec Si vide et DATEDIF, pas de souci.
    Par contre, dans la colonne suivante je voudrai que ce calcul se fasse pour l'ANNEE EN COURS. Je n'arrive pas à ce qu'il prenne en compte que si la date d'entrée est inférieure à janvier 2017, il comptabilise depuis janvier 2017. J'ai tenté cette formule :

    j'ai mis ça : =Si(B2<01/01/2017;DATEDIF(01/01/2017;AE2;"m");DATEDIF(B2;AE2;"m")) mais il calcule toujours le nombre de mois complets

    il faudra ensuite que je lui mette la même chose (en + dans la même formule) qui dise qu'il arrête de compter au 31/12/17 même si la date de sortie est en 2018...

    ex : entrée en 01/10/2016 et sortie au 01/02/18 = 16 mois mais 12 mois en 2017
    Suis je claire ? Est ce possible ?

    Merci de votre aide

    Répondre

  11. Jack N'GUYEN
    23/03/2018 @ 06:44

    Bonjour,
    Je lis vos commentaires qui sont un peu chinois pour moi.
    Donc je souhaite mettre en surbrillance différentes colonnes qui comportent des dates différentes (mensuel) :
    Ex colonne E : plusieurs dates différentes du mois (jour d'envoie, dernier délai) ; colonne F(dates ou le doc a été envoyé "ou je veux mettre 3 couleurs : même jour = vert, jour anticipé = bleu, jour retard = rouge.
    Colonne D : 45 jours avant les dates d'envoies (colonne E), jaune; 30 jours couleurs =orange; 20 jours = rouge; 10 jours = noir.
    Je suis un autodidacte et si une bonne âme charitable voudrait bien m'aidé.
    Si vous avez une adresse mail pour que je vous envoie un exemple de tableau.
    Je vous remercie

    Répondre

  12. Gautun
    22/01/2018 @ 14:46

    Bonjour,

    Je viens d'appliquer la formule DATEDIF pour calculer un nombre de mois entre deux dates (date de début et date de fin mais les résultats ne sont pas toujours exacts.
    Exemple :
    Date de début Date de fin Nombre de mois
    Exemple 1 01/01/2016 31/12/16 11
    Exemple 2 19/09/16 31/12/16 3

    Sur l'exemple 1 le résultat devrait être 12 puisque l'année est complète et sur l'exemple 2, le résultat devrait être 3.5 mois.

    Ne faut-il pas rajouter quelque chose dans la formule ?

    Merci de votre réponse.

    Répondre

    • BILLOT
      12/11/2018 @ 11:30

      Pour calculer en année mois jours la différence entre deux dates
      je vous propose la formule suivante a mettre en C2. (Date DU étant en A2 et Date AU étant en B2)

      =SI(A2JOUR(B2);
      DATEDIF(A2;B2;"y")&" an(s), "&DATEDIF(A2;B2;"ym")&" mois, "&DATE(ANNEE(A2);MOIS(A2)+1;0)-A2+JOUR(B2)&" jour(s)"
      ;
      DATEDIF(A2;B2;"y")&" an(s), "&DATEDIF(A2;B2;"ym")&" mois, "&JOUR(B2)-JOUR(A2)&" jour(s)"))
      ;
      SI(JOUR(B2)=1;
      "-"&DATEDIF(B2;A2;"y")&" an(s), "&DATEDIF(B2;A2;"ym")&" mois, "&A2-DATE(ANNEE(A2);MOIS(A2);1)&" jour(s)"
      ;
      SI(JOUR(B2)>JOUR(A2);
      "-"&DATEDIF(B2;A2;"y")&" an(s), "&DATEDIF(B2;A2;"ym")&" mois, "&DATE(ANNEE(B2);MOIS(B2)+1;0)-B2+JOUR(A2)&" jour(s)"
      ;
      "-"&DATEDIF(B2;A2;"y")&" an(s), "&DATEDIF(B2;A2;"ym")&" mois, "&JOUR(A2)-JOUR(B2)&" jour(s)"
      )))

      Répondre

  13. RESIDENCE VILLA MAGNA OSER Y CROIRE
    31/03/2017 @ 09:07

    Bonjour,

    Aucune réponse pour TRAN ? car j'ai le même souci. =DATEDIF(C14;D14;"ym")&" mois "&DATEDIF(C14;D14;"md")&" jours"

    J'ai un contrat qui débute le 06/02/17 et se termine le 31/05/17. La réponse est de 3 mois et 23 jours.
    Hors avec la formule, j'obtiens 3 mois et 25 jours.

    Idem si je mets du 01/05/2017 au 31/05/2017 la réponse va être 0 mois et 30 jours ... Alors qu'il y a bien 1 mois et 0 jours !

    Merci pour votre réponse.

    Répondre

    • Antoine
      25/12/2017 @ 16:38

      Rajouter un "+1" à la date de fin devrait faire le taf.
      =DATEDIF(C14;D14+1;”ym”)&” mois “&DATEDIF(C14;D14+1;”md”)&” jours

      Les dates sont juste des séries de chiffres dans excel, du coup vous avez naturellement 1 jour d'écart qui va apparaître (dans le cas où la date de fin est un jour qui doit être compté).
      Avec la formule corrigée, vous obtiendrez donc 1 mois pour votre exemple du 01/05/2017 au 31/05/2017.

      Pour votre exemple du contrat débutant le 06/02/2017 au 31/05/2017, je pense qu'il y a une divergence dans l'interprétation.
      Vous semblez compter en purs mois de 30 jours mais la formule compte différemment.
      Si vous décomposez le tout :
      06/02/2017 -> 05/03/2017 : 1 mois
      06/03/2017 -> 05/04/2017 : 1 mois
      06/04/2017 -> 05/05/2017 : 1 mois
      06/05/2017 -> 31/05/2017 : 26 jours

      Soit 3 mois et 26 jours

      Bon courage.

      Répondre

  14. cao
    04/11/2015 @ 13:02

    Bonjour, j'utilise la formule suivante =DATEDIF(F4;AUJOURDHUI();"y") et cela fonctionne très bien :o) Néanmoins, je l'utilise sur un tableau où la date dans la colonne de F4,G4, H4,I4, etc... n'est remplie qu'au jour le jour dans le courant du mois et donc, dans ce tableau, au début du mois, de nombreuses cellules sont vides. Le résultat de ma formule est donc 115 car la date de référence quand la cellule vide est 1900.... Avez vous une solution pour que mon tableau n'affiche pas 115 s'il n'est pas complètement rempli ??? Merci d'avance

    Répondre

    • cao
      04/11/2015 @ 13:04

      petite correction... il s'agit bien de LA colonne de F4, F5, F6, etc...;o)

      Répondre

    • Frédéric LE GUEN
      09/11/2015 @ 10:31

      Bonjour,
      Il suffit d'inclure la fonction DATEDIF dans une fonction SI qui va faire un test si la cellule est renseignée ou non.
      =SI(F4<>"";DATEDIF(...);"")

      Répondre

  15. Jean Le Bon
    10/04/2015 @ 11:30

    J'ai utilisé la formule pour la durée de vie des rois de France. Ça ne marche pas pour les dates anciennes. Exemple pour St Louis, du 25/04/1214 au 25/08/1270. Mais j'arrive quand même au résultat en ajoutant 1000 ans à chaque date, et donc du 25/04/2214 au 25/08/2270

    Répondre

  16. dabel
    16/01/2015 @ 15:32

    Bonjour, J'utilise datedif pour calculer le nombre de mois entre deux dates. ça marche très bien entre des mois complets mais j'aimerais que cela m'indique aussi les demi-mois. Par exemple la différence entre 01.01.2014 et 15.04.2014 = 3.5 mois.
    Connaissez-vous une formule qui fait ça ?

    Merci.

    Répondre

  17. Anonyme
    13/01/2015 @ 14:50

    j'ai un probleme avec datedif. lorsque une des cellule est vide n est pas remplie, le résultat de cette formule me donne 42017. ce qui me pose vraiment un probleme.

    Répondre

    • Frédéric LE GUEN
      17/01/2015 @ 21:35

      Bonjour,
      Il suffit de faire un test avec la fonction SI pour savoir si l'une des cellules qui va utiliser être utilisée dans la fonction DATEDIF est vide ou non.
      =SI(OU(cellule1=vide;cellule2=vide),"",DATEDIF)

      Répondre

      • ARIANE
        18/08/2015 @ 16:27

        Bonjour,
        Je souhaite appliquer la formule DATEDIF afin d'avoir des alertes pour effectuer des relances, concernant la problématique de la cellule vide j'ai utilisé votre indication sans succès. voici comment mon tableau se présente: en J date du contact, en K date de relance, en L Date du jour avec la formule AUJOURDHUI(), en M la date de dépassement, en N l'alerte avec la formule SI=(M8>0;"ALERTE";SI(ESTVIDE(M8);"NEANT")). Que faire, merci d'avance.

  18. Anonyme
    15/12/2014 @ 19:20

    Bonjour, la fonction datedif me donne une date en sortie!
    Starting Date Finishing Date Days Total
    02-mai 04-août 03-avr

    Répondre

  19. TRAN
    04/09/2014 @ 12:30

    Bonjour,

    Moi j'ai utiliser cette formule mais me suis aperçue d'un petit souci.
    En effet, je l'utilise pour calculer la durée des contrats de travail.
    Exemple: J'ai un contrat qui débute le 10/09/14 et termine le 09/03/15. En principe, sa durée de travail est de 6 mois.
    Hors avec la formule, j'obtiens 5 mois et 28 jours. Je suppose que c'est le mois de février qui a dû poser problème lors du calcul dans Excel?
    Ma formule est la suivante: =DATEDIF(E17;F17;"y") & " an " & DATEDIF(E17;F17;"ym") & " mois et " & DATEDIF(E17;F17;"md") +1 & " jour(s)"

    Merci d'avance pour votre réponse.

    Répondre

  20. Anonyme
    28/05/2014 @ 16:28

    Sous excel 2013, la fonction DATEDIF n'existe pas..

    Répondre

    • JP
      04/08/2014 @ 15:11

      elle existe mais n'est pas documentée : essayez !

      Répondre

  21. Philippe
    24/05/2014 @ 13:32

    En A1 = 29/03/1970
    En A2 = 16/05/2014

    La formule est = DATEDIF("A1";"A2";"Y")

    Résultat : 44

    Répondre

  22. Anonyme
    06/05/2014 @ 16:56

    Bonjour, je n'arrive pas à obtenir l'écart en mois. Pourtant j'ai bien ma date "B" inférieur à la date "C". J'ai mis les guillemets pour "ym" et un "#NOM?" apparait. la formule que j'ai mis ressemble à:
    = DATEDIF(D47;E47;”ym”)
    Serait-il possible de m'aider svp?

    Répondre

    • fredericleguen
      06/05/2014 @ 17:32

      Sur quelle version d'Excel vous travaillez ?

      Répondre

      • Anonyme
        06/05/2014 @ 17:34

        Excel 2013

      • Frédéric LE GUEN
        06/05/2014 @ 18:49

        Ca devrait parfaitement fonctionner alors. Sur Excel 2003 j'aurais compris pkoi mais pas là. Et d'ailleurs, toutes les fonctions utilisées dans cette page web fonctionnent à merveille.
        Autre raison, les dates que vous avez dans vos cellules ne sont pas au format Date. Essayez de changer le format en Standard pour voir si vous avez des valeurs aux alentours de 41000
        e

      • Anonyme
        06/05/2014 @ 18:54

        C'est un document qui est issu d'Excel 97-2003 et je l'ai enregistré sous 2013.
        J'obtiens bien des valeurs aux alentours de 41 000.

      • Frédéric LE GUEN
        06/05/2014 @ 19:30

        Donc ce sont bien des dates (good point)
        Essayez de l'enregistrer aux format xlsx (même si cela ne devrait pas avoir d'incidence) et de recommencer

      • Anonyme
        06/05/2014 @ 19:34

        Non pas de changement, sauf quand je met datedif en minuscule où j'obtiens des 0 à la place des #NOM?

      • Saam
        30/03/2015 @ 06:21

        Bonjour,

        Je suis sur Excel 2013 et pareil, je n'ai pas la formule DATEDIF
        J'essaye de faire tout ce que vous expliquer mais rien a faire, il n'y a que des #VALEUR! qui appraraissent :/

      • Anonyme
        06/05/2014 @ 19:00

        J'ai mis DATEDIF en minuscule. j'obtiens maintenant uniquement des 0

  23. Raymond
    02/01/2014 @ 20:52

    Bonsoir

    Excel 2013 semble ne pas connaitre cette fonction.

    J'obtient dans la cellule le messeage #NOM?

    formule utilisée

    =DATEDIF(F12;(AUJOURDHUI());Y)

    Merci
    Raymond

    Répondre

    • Frédéric LE GUEN
      02/01/2014 @ 21:11

      Il faut mettre Y entre guillemet 😉

      Répondre

  24. simval
    03/12/2013 @ 08:21

    la formule [datedif] ne fonctionne pas. Avez-vous des explications ?
    Merci

    Répondre

    • Frédéric LE GUEN
      06/12/2013 @ 09:45

      Bonjour,
      La seule raison que je vois c'est que la date1 est supérieure à la date2. C'est la seule raison connue pour laquelle DATEDIF ne fonctionne pas

      Répondre

  25. Hermann
    15/06/2013 @ 16:38

    Je vous remercie de partager l'information ;c'est un logiciel que j'apprécie particulierement
    Merci

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.

Différence entre 2 dates – DATEDIF

Reading time: 3 minutes
Dernière mise à jour le 06/08/2025

Faire une différence entre deux dates est une opération complexe mais qui se simplifie avec la fonction DATEDIF d'Excel. Le seul problème, c'est que cette fonction est une fonction masquée 🤔😯

Frédéric Le Guenex-Microsoft MVP 2010-2025
Date et HeureMis à jour le 06/08/20253 min de lecture

Problème posé par la différence entre 2 dates

Prenons l'exemple suivant où nous avons 9 jours d'écart entre les 2 dates. Seulement, à y regarder de plus près, les 2 dates sont sur 2 mois différents.

Faire une différence entre 2 dates avec 2 fonction MOIS entraine des erreurs de calcul

Autrement dit, si nous voulons connaître l'écart en nombre de mois, nous pourrions écrire la formule suivante avec fonction MOIS.

=MOIS(B1)-MOIS(B2)

Malheureusement pour nous, cette formule nous retourne la valeur 1 (cf l'image plus haut) or, il n'y a pas 1 mois d'écart entre les dates.

Le résultat est donc faux avec cette méthode.

La fonction DATEDIF

Pour faire une différence entre deux dates, Excel possède une fonction incroyable, il s'agit de la fonction DATEDIF. Seulement, cette fonction est cachée. 😯

La fonction DATEDIF n'apparait pas dans la liste des fonctions Excel
La fonction DATEDIF n'apparait pas dans la liste des fonctions

Pour vous en rendre compte, il vous suffit d'appeler l'aide en ligne sur cette fonction ou de la chercher dans le menu d'insertion d'une fonction. Nulle part vous la trouverez et pourtant elle fonctionne parfaitement (ils sont bizarre chez Microsoft 🤔).

Paramètres de la fonction DATEDIF

La fonction DATEDIF a besoin de 3 paramètres pour fonctionner.

  1. Une première date : Indiquer la valeur de la date la plus ancienne.
  2. Une seconde date : Cette valeur est nécessairement supérieure à la première date.
  3. Le paramètre de calcul : Vous pouvez indiquer si vous voulez compter le nombre d'années, de mois ou de jours.

=DATEDIF(date1;date2;paramètre)

Les 2 premiers paramètres de la fonction se comprennent d'eux-mêmes. Par contre, le troisième paramètre est de loin le plus important car c'est lui qui va déterminer le type de calcul d'écart qui sera réalisé.

Explication des valeurs du troisième paramètre

Les 3 paramètres attendues peuvent être

  • "d" (day) calcule l'écart en nombre de jours entre les 2 dates
  • "m" (month) calcule l'écart en nombre de mois
  • "y" (year) calcule l'écart en nombre d'années
Résultat en jours, mois ou années retourné par la fonction DATEDIF

Remarque : l'écart en nombre de mois est très intéressant pour l'échéance de contrat d'assurance par exemple ; 24 mois, 36 mois, ...

Paramètres avancés

Il est aussi possible d'écrire le 3e paramètre en repartant de 0 après chaque période. Ce sont ces paramètres qu'il faut utiliser pour les calcul d'ancienneté par exemple

  • "ym" va retourner le nombre de mois écoulés depuis le début d'une période. Valeur possible entre 0 et 11 car le 12ème mois, l'année change
  • "md" va retourner une valeur entre 0 et 30. Enfin cela dépend évidemment du nombre de jours durant le mois mais la fonction connait précisément le nombre de jours pour chaque mois
  • "yd"est beaucoup moins utile, mais ce code retourne le nombre de jours écoulés depuis le début de la période. Valeur possible entre 0 et 364.

Cas pratique : calculer de l'ancienneté

En colonne B, nous avons les dates d'embauche de nos employés. La deuxième date est la date du jour courant retourné par la fonction AUJOURDHUI. Nous avons donc les formules suivantes

  • Pour les années seules =DATEDIF($B5,$D$1,"y")
  • Pour les mois à l'intérieur d'une année =DATEDIF($B5,$D$1,"ym")
  • Pour les jours à l'intérieur d'un mois =DATEDIF($B5,$D$1,"md")
Calcul de l'ancienneté grâce à la fonction DATEDIF

Articles liés

Newsletter

1 fois par mois :
Astuces et quiz

    Nous ne vous enverrons pas de spam. Vous pouvez vous désabonner à tout moment.

    46 commentaires

    1. Lud
      09/09/2024 @ 23:43

      Bonjour,

      Cela fait quelques heures que j'essaie de transposer cette formule :

      =DATEDIF(D13;E13;"y")&" années "&DATEDIF(D13;E13;"ym")&" mois "&DATEDIF(D13;E13;"md")&" jours "

      Dans une macro sous Excel365 où D13 serait la dateNaissance et E13 dateDeces.

      Je n'y suis jamais parvenu 🙁
      DATEDIFF en VBA ne réagit pas du tout de la même façon. Maintenant, je ne suis pas un expert non plus.

      Si une bonne âme peut me mettre sur la voie... Je la remercie d'avance 🙂

      Répondre

    2. Daniel
      16/04/2024 @ 16:25

      bonjour,

      la fonction parait formidable mais elle ne fonctionne pas ou je ne sais pas la faire fonctionner.

      voici ce que je fais
      cellule C3: =AUJOURDHUI() donne 16/04/2024
      cellule H28: =DATE(1986;3;3) donne 03/03/1986

      cellule I28: =DATEDIF(H28;C3;"Y") donne 07/02/1900

      conclusion: DATEDIF ne fonctionne pas dans mon cas. je ne sais pas pourquoi...

      Répondre

      • Frédéric LE GUEN
        16/04/2024 @ 19:22

        Ca marche mais votre cellule I28 est au format Date. Il faut la laisser au format Général

        Répondre

    3. bruno michalon
      10/02/2024 @ 11:11

      bonjour à vous, est-ce qu'il y aurait une façon de faire fonctionner DATEDIF pour obtenir une durée en jours et heures ; p ex : 10 février 2024 11h pour un départ le 2 janvier 13h résultat 38 j 22h ? je vous remercie

      Répondre

      • Frédéric LE GUEN
        10/02/2024 @ 14:49

        Bonjour, cet article vous apportera la réponse. Tout dépend si vous incluez ou non la date avec l'heure dans une même cellle

        Répondre

    4. Anonime
      19/10/2023 @ 10:20

      Merci pour votre présentation. Bonne continuation à vous.

      Répondre

    5. GARCIA SIHAM
      11/09/2021 @ 23:30

      bonjour
      j'ai besoin une formulaire qui compare entre 3 date : date début ; date fin et le mois
      objectif est que un client ex : date entrée 03/2021 date fin 08/2021 et pendant cette période il paye 250dh/mois

      date début date fin 01/2021 02/2021 03/2021 04/2021 05/2021 06/2021 07/2021 08/2021 09/2021 10/2021 11/2021

      03/2021 08/2021 0 0 250 250 250 250 250 250 0 0 0

      Répondre

    6. Lo
      12/06/2018 @ 16:22

      Bonjour,

      Je cherche à automatiser la fonction datedif. Sur un tableau excel, j'ai entré des dates de référence (date d'embauche, date de référence et date de naissance) afin de calculer l'âge et l'ancienneté du salarié. Puis-je sélectionner ces dates sur mon tableau pour entrer dans la formule (au lieu de les noter à la main dans la formule) ? J'utiliserai ceci pour que chaque année, je puisse changer les dates de référence et que le calcul de l'âge et de l'ancienneté se fasse automatiquement !
      Est-ce possible de faire ce que je souhaite ?

      Cordialement,

      Répondre

    7. mi-yata65
      22/05/2018 @ 22:24

      Je ne sais pas pourquoi mon texte ne s'affiche pas correctement ???
      Je remets le texte qui est mal écrit dans ma requête...
      Encore une fois désolé ...
      Ce sera ma dernière tentative.
      ========================

      lorsque K17 est postérieur à $C$1 (étant la date d'aujourd'hui) .
      J'ai rajouté la formule suivante en bout de la formule ci-dessus:

      &SI(ET(K171;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")&SI(ET(K17<AUJOURDHUI());"Dépassé";"")

      Mais ça ne marche pas.

      Je ne sais pas pourquoi?
      Surtout que lorsque j'écris simplement la formule suivante avec une date K17 postérieure à $C$1 :
      =SI(ET(K17<AUJOURDHUI());"Dépassé";"")
      ça fonctionne.

      Merci d'avance à celui qui voudra bien m'aider.

      Répondre

    8. mi-yata65
      22/05/2018 @ 18:28

      Je remets ce message car il y une erreur dans mon écrit...
      =========

      Bonjour,
      J'utilise l'étiquette DATEDIF comme si dessous:

      =DATEDIF($C$1;K17;"Y")&SI(DATEDIF($C$1;K17;"Y")>1;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")

      ($C$1 étant la date d'aujourd'hui)
      ça fonctionne.
      j'ai le nombre d'année,mois et jour restant entre deux dates.
      C'est ce que je cherche.
      Mais, il y a un "mais" quand la date en K17 est postérieur à $C$1 j'ai une erreur (#NOMBRE!)
      Alors que quand K17 est antérieur ça marche, j'ai le nombre d'année,mois,jours restant.
      Donc ça c'est mon premier soucis.
      Et mon deuxième soucis, avec cette même formule comme ci-dessus, j'aimerais avoir un texte qui s'affiche comme "dépassé"
      lorsque K17 est postérieur à $C$1 (étant la date d'aujourd'hui) .
      J'ai rajouté la formule suivante en bout de la formule ci-dessus:
      &SI(ET(K171;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")&SI(ET(K17<AUJOURDHUI());"Dépassé";"")
      Mais ça ne marche pas.
      Je ne sais pas pourquoi?
      Surtout que lorsque j'écris simplement la formule suivante avec une date K17 postérieure à $C$1 :
      =SI(ET(K17<AUJOURDHUI());"Dépassé";"")
      ça fonctionne.

      Merci d'avance à celui qui voudra bien m'aider.

      Répondre

      • mi-yata65
        22/05/2018 @ 18:35

        Je ne sais pas pourquoi mon texte ne s'affiche pas correctement ???
        Je remets le texte qui est mal écrit dans ma requête...
        Désolé...
        =====================

        lorsque K17 est postérieur à $C$1 (étant la date d'aujourd'hui) .
        J'ai rajouté la formule suivante en bout de la formule ci-dessus:

        &SI(ET(K171;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")&SI(ET(K17<AUJOURDHUI());"Dépassé";"")

        Mais ça ne marche pas.
        ======================

        Répondre

        • Frédéric LE GUEN
          22/05/2018 @ 18:51

          Bonjour,
          ET(K171;" ans, ";" an, ") ça ne veut rien dire.
          La fonction ET (comme OU d'ailleurs) s'attend à recevoir des tests logiques or ici il n'y en a aucun

    9. mi-yata65
      22/05/2018 @ 18:04

      Bonjour,
      J'utilise l'étiquette DATEDIF comme si dessous:

      =DATEDIF($C$1;K17;"Y")&SI(DATEDIF($C$1;K17;"Y")>1;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")

      ($C$1 étant la date d'aujourd'hui)
      ça fonctionne.
      j'ai le nombre d'année,mois et jour restant entre deux dates.
      C'est ce que je cherche.
      Mais, il y a un "mais" quand la date en K17 est postérieur à $C$1 j'ai une erreur (#NOMBRE!)
      Alors que quand K17 est antérieur ça marche, j'ai le nombre d'année,mois,jours restant.
      Donc ça c'est mon premier soucis.
      Et mon deuxième soucis, avec cette même formule comme ci-dessus, j'aimerais avoir un texte qui s'affiche comme "dépassé"
      lorsque K17 est postérieur à $C$1 (étant la date d'aujourd'hui) .
      J'ai rajouté la formule suivante en bout de la formule ci-dessus:
      &SI(ET(K171;" ans, ";" an, ")&DATEDIF($C$1;K17;"YM") &" mois et "&DATEDIF($C$1;K17;"MD")&SI(DATEDIF($C$1;K17;"MD")>1;" jours";" jour")&SI(ET(K17<AUJOURDHUI());"Dépassé";"")
      Mais ça ne marche pas.
      Je ne sais pas pourquoi?
      Surtout que lorsque j'écris simplement la formule suivante avec une date K17 postérieure à $C$1 :
      =SI(ET(K17<AUJOURDHUI());"Dépassé";"")
      ça fonctionne.

      Merci d'avance à celui qui voudra bien m'aider.

      Répondre

    10. Véronique Turque
      07/05/2018 @ 15:40

      Bonjour,
      pour ma part dans une colonne qui va me calculer le nombre de mois total entre 2 dates d'une mesure avec Si vide et DATEDIF, pas de souci.
      Par contre, dans la colonne suivante je voudrai que ce calcul se fasse pour l'ANNEE EN COURS. Je n'arrive pas à ce qu'il prenne en compte que si la date d'entrée est inférieure à janvier 2017, il comptabilise depuis janvier 2017. J'ai tenté cette formule :

      j'ai mis ça : =Si(B2<01/01/2017;DATEDIF(01/01/2017;AE2;"m");DATEDIF(B2;AE2;"m")) mais il calcule toujours le nombre de mois complets

      il faudra ensuite que je lui mette la même chose (en + dans la même formule) qui dise qu'il arrête de compter au 31/12/17 même si la date de sortie est en 2018...

      ex : entrée en 01/10/2016 et sortie au 01/02/18 = 16 mois mais 12 mois en 2017
      Suis je claire ? Est ce possible ?

      Merci de votre aide

      Répondre

    11. Jack N'GUYEN
      23/03/2018 @ 06:44

      Bonjour,
      Je lis vos commentaires qui sont un peu chinois pour moi.
      Donc je souhaite mettre en surbrillance différentes colonnes qui comportent des dates différentes (mensuel) :
      Ex colonne E : plusieurs dates différentes du mois (jour d'envoie, dernier délai) ; colonne F(dates ou le doc a été envoyé "ou je veux mettre 3 couleurs : même jour = vert, jour anticipé = bleu, jour retard = rouge.
      Colonne D : 45 jours avant les dates d'envoies (colonne E), jaune; 30 jours couleurs =orange; 20 jours = rouge; 10 jours = noir.
      Je suis un autodidacte et si une bonne âme charitable voudrait bien m'aidé.
      Si vous avez une adresse mail pour que je vous envoie un exemple de tableau.
      Je vous remercie

      Répondre

    12. Gautun
      22/01/2018 @ 14:46

      Bonjour,

      Je viens d'appliquer la formule DATEDIF pour calculer un nombre de mois entre deux dates (date de début et date de fin mais les résultats ne sont pas toujours exacts.
      Exemple :
      Date de début Date de fin Nombre de mois
      Exemple 1 01/01/2016 31/12/16 11
      Exemple 2 19/09/16 31/12/16 3

      Sur l'exemple 1 le résultat devrait être 12 puisque l'année est complète et sur l'exemple 2, le résultat devrait être 3.5 mois.

      Ne faut-il pas rajouter quelque chose dans la formule ?

      Merci de votre réponse.

      Répondre

      • BILLOT
        12/11/2018 @ 11:30

        Pour calculer en année mois jours la différence entre deux dates
        je vous propose la formule suivante a mettre en C2. (Date DU étant en A2 et Date AU étant en B2)

        =SI(A2JOUR(B2);
        DATEDIF(A2;B2;"y")&" an(s), "&DATEDIF(A2;B2;"ym")&" mois, "&DATE(ANNEE(A2);MOIS(A2)+1;0)-A2+JOUR(B2)&" jour(s)"
        ;
        DATEDIF(A2;B2;"y")&" an(s), "&DATEDIF(A2;B2;"ym")&" mois, "&JOUR(B2)-JOUR(A2)&" jour(s)"))
        ;
        SI(JOUR(B2)=1;
        "-"&DATEDIF(B2;A2;"y")&" an(s), "&DATEDIF(B2;A2;"ym")&" mois, "&A2-DATE(ANNEE(A2);MOIS(A2);1)&" jour(s)"
        ;
        SI(JOUR(B2)>JOUR(A2);
        "-"&DATEDIF(B2;A2;"y")&" an(s), "&DATEDIF(B2;A2;"ym")&" mois, "&DATE(ANNEE(B2);MOIS(B2)+1;0)-B2+JOUR(A2)&" jour(s)"
        ;
        "-"&DATEDIF(B2;A2;"y")&" an(s), "&DATEDIF(B2;A2;"ym")&" mois, "&JOUR(A2)-JOUR(B2)&" jour(s)"
        )))

        Répondre

    13. RESIDENCE VILLA MAGNA OSER Y CROIRE
      31/03/2017 @ 09:07

      Bonjour,

      Aucune réponse pour TRAN ? car j'ai le même souci. =DATEDIF(C14;D14;"ym")&" mois "&DATEDIF(C14;D14;"md")&" jours"

      J'ai un contrat qui débute le 06/02/17 et se termine le 31/05/17. La réponse est de 3 mois et 23 jours.
      Hors avec la formule, j'obtiens 3 mois et 25 jours.

      Idem si je mets du 01/05/2017 au 31/05/2017 la réponse va être 0 mois et 30 jours ... Alors qu'il y a bien 1 mois et 0 jours !

      Merci pour votre réponse.

      Répondre

      • Antoine
        25/12/2017 @ 16:38

        Rajouter un "+1" à la date de fin devrait faire le taf.
        =DATEDIF(C14;D14+1;”ym”)&” mois “&DATEDIF(C14;D14+1;”md”)&” jours

        Les dates sont juste des séries de chiffres dans excel, du coup vous avez naturellement 1 jour d'écart qui va apparaître (dans le cas où la date de fin est un jour qui doit être compté).
        Avec la formule corrigée, vous obtiendrez donc 1 mois pour votre exemple du 01/05/2017 au 31/05/2017.

        Pour votre exemple du contrat débutant le 06/02/2017 au 31/05/2017, je pense qu'il y a une divergence dans l'interprétation.
        Vous semblez compter en purs mois de 30 jours mais la formule compte différemment.
        Si vous décomposez le tout :
        06/02/2017 -> 05/03/2017 : 1 mois
        06/03/2017 -> 05/04/2017 : 1 mois
        06/04/2017 -> 05/05/2017 : 1 mois
        06/05/2017 -> 31/05/2017 : 26 jours

        Soit 3 mois et 26 jours

        Bon courage.

        Répondre

    14. cao
      04/11/2015 @ 13:02

      Bonjour, j'utilise la formule suivante =DATEDIF(F4;AUJOURDHUI();"y") et cela fonctionne très bien :o) Néanmoins, je l'utilise sur un tableau où la date dans la colonne de F4,G4, H4,I4, etc... n'est remplie qu'au jour le jour dans le courant du mois et donc, dans ce tableau, au début du mois, de nombreuses cellules sont vides. Le résultat de ma formule est donc 115 car la date de référence quand la cellule vide est 1900.... Avez vous une solution pour que mon tableau n'affiche pas 115 s'il n'est pas complètement rempli ??? Merci d'avance

      Répondre

      • cao
        04/11/2015 @ 13:04

        petite correction... il s'agit bien de LA colonne de F4, F5, F6, etc...;o)

        Répondre

      • Frédéric LE GUEN
        09/11/2015 @ 10:31

        Bonjour,
        Il suffit d'inclure la fonction DATEDIF dans une fonction SI qui va faire un test si la cellule est renseignée ou non.
        =SI(F4<>"";DATEDIF(...);"")

        Répondre

    15. Jean Le Bon
      10/04/2015 @ 11:30

      J'ai utilisé la formule pour la durée de vie des rois de France. Ça ne marche pas pour les dates anciennes. Exemple pour St Louis, du 25/04/1214 au 25/08/1270. Mais j'arrive quand même au résultat en ajoutant 1000 ans à chaque date, et donc du 25/04/2214 au 25/08/2270

      Répondre

    16. dabel
      16/01/2015 @ 15:32

      Bonjour, J'utilise datedif pour calculer le nombre de mois entre deux dates. ça marche très bien entre des mois complets mais j'aimerais que cela m'indique aussi les demi-mois. Par exemple la différence entre 01.01.2014 et 15.04.2014 = 3.5 mois.
      Connaissez-vous une formule qui fait ça ?

      Merci.

      Répondre

    17. Anonyme
      13/01/2015 @ 14:50

      j'ai un probleme avec datedif. lorsque une des cellule est vide n est pas remplie, le résultat de cette formule me donne 42017. ce qui me pose vraiment un probleme.

      Répondre

      • Frédéric LE GUEN
        17/01/2015 @ 21:35

        Bonjour,
        Il suffit de faire un test avec la fonction SI pour savoir si l'une des cellules qui va utiliser être utilisée dans la fonction DATEDIF est vide ou non.
        =SI(OU(cellule1=vide;cellule2=vide),"",DATEDIF)

        Répondre

        • ARIANE
          18/08/2015 @ 16:27

          Bonjour,
          Je souhaite appliquer la formule DATEDIF afin d'avoir des alertes pour effectuer des relances, concernant la problématique de la cellule vide j'ai utilisé votre indication sans succès. voici comment mon tableau se présente: en J date du contact, en K date de relance, en L Date du jour avec la formule AUJOURDHUI(), en M la date de dépassement, en N l'alerte avec la formule SI=(M8>0;"ALERTE";SI(ESTVIDE(M8);"NEANT")). Que faire, merci d'avance.

    18. Anonyme
      15/12/2014 @ 19:20

      Bonjour, la fonction datedif me donne une date en sortie!
      Starting Date Finishing Date Days Total
      02-mai 04-août 03-avr

      Répondre

    19. TRAN
      04/09/2014 @ 12:30

      Bonjour,

      Moi j'ai utiliser cette formule mais me suis aperçue d'un petit souci.
      En effet, je l'utilise pour calculer la durée des contrats de travail.
      Exemple: J'ai un contrat qui débute le 10/09/14 et termine le 09/03/15. En principe, sa durée de travail est de 6 mois.
      Hors avec la formule, j'obtiens 5 mois et 28 jours. Je suppose que c'est le mois de février qui a dû poser problème lors du calcul dans Excel?
      Ma formule est la suivante: =DATEDIF(E17;F17;"y") & " an " & DATEDIF(E17;F17;"ym") & " mois et " & DATEDIF(E17;F17;"md") +1 & " jour(s)"

      Merci d'avance pour votre réponse.

      Répondre

    20. Anonyme
      28/05/2014 @ 16:28

      Sous excel 2013, la fonction DATEDIF n'existe pas..

      Répondre

      • JP
        04/08/2014 @ 15:11

        elle existe mais n'est pas documentée : essayez !

        Répondre

    21. Philippe
      24/05/2014 @ 13:32

      En A1 = 29/03/1970
      En A2 = 16/05/2014

      La formule est = DATEDIF("A1";"A2";"Y")

      Résultat : 44

      Répondre

    22. Anonyme
      06/05/2014 @ 16:56

      Bonjour, je n'arrive pas à obtenir l'écart en mois. Pourtant j'ai bien ma date "B" inférieur à la date "C". J'ai mis les guillemets pour "ym" et un "#NOM?" apparait. la formule que j'ai mis ressemble à:
      = DATEDIF(D47;E47;”ym”)
      Serait-il possible de m'aider svp?

      Répondre

      • fredericleguen
        06/05/2014 @ 17:32

        Sur quelle version d'Excel vous travaillez ?

        Répondre

        • Anonyme
          06/05/2014 @ 17:34

          Excel 2013

        • Frédéric LE GUEN
          06/05/2014 @ 18:49

          Ca devrait parfaitement fonctionner alors. Sur Excel 2003 j'aurais compris pkoi mais pas là. Et d'ailleurs, toutes les fonctions utilisées dans cette page web fonctionnent à merveille.
          Autre raison, les dates que vous avez dans vos cellules ne sont pas au format Date. Essayez de changer le format en Standard pour voir si vous avez des valeurs aux alentours de 41000
          e

        • Anonyme
          06/05/2014 @ 18:54

          C'est un document qui est issu d'Excel 97-2003 et je l'ai enregistré sous 2013.
          J'obtiens bien des valeurs aux alentours de 41 000.

        • Frédéric LE GUEN
          06/05/2014 @ 19:30

          Donc ce sont bien des dates (good point)
          Essayez de l'enregistrer aux format xlsx (même si cela ne devrait pas avoir d'incidence) et de recommencer

        • Anonyme
          06/05/2014 @ 19:34

          Non pas de changement, sauf quand je met datedif en minuscule où j'obtiens des 0 à la place des #NOM?

        • Saam
          30/03/2015 @ 06:21

          Bonjour,

          Je suis sur Excel 2013 et pareil, je n'ai pas la formule DATEDIF
          J'essaye de faire tout ce que vous expliquer mais rien a faire, il n'y a que des #VALEUR! qui appraraissent :/

        • Anonyme
          06/05/2014 @ 19:00

          J'ai mis DATEDIF en minuscule. j'obtiens maintenant uniquement des 0

    23. Raymond
      02/01/2014 @ 20:52

      Bonsoir

      Excel 2013 semble ne pas connaitre cette fonction.

      J'obtient dans la cellule le messeage #NOM?

      formule utilisée

      =DATEDIF(F12;(AUJOURDHUI());Y)

      Merci
      Raymond

      Répondre

      • Frédéric LE GUEN
        02/01/2014 @ 21:11

        Il faut mettre Y entre guillemet 😉

        Répondre

    24. simval
      03/12/2013 @ 08:21

      la formule [datedif] ne fonctionne pas. Avez-vous des explications ?
      Merci

      Répondre

      • Frédéric LE GUEN
        06/12/2013 @ 09:45

        Bonjour,
        La seule raison que je vois c'est que la date1 est supérieure à la date2. C'est la seule raison connue pour laquelle DATEDIF ne fonctionne pas

        Répondre

    25. Hermann
      15/06/2013 @ 16:38

      Je vous remercie de partager l'information ;c'est un logiciel que j'apprécie particulierement
      Merci

      Répondre

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.