Cacul jours mois annee avec datedif

Résolu
Bonjour,
je souhaiterai résoudre un souci de calcul de date :

j'ai en B3 : 01/01/2018
en C3 : 31/12/2018
en D3 : =DATEDIF(B3;C3;"y") & " a " & DATEDIF(B3;C3;"ym") & " m et " & DATEDIF(B3;C3;"md") & " j"
le résultat affiche : 0a 11m 30j
comment afficher 1a ?

Cordialement
Gil

4 réponses

  1. Bonjour,

    et oui c'est le principe des intervalles si on compte le premier jour et le dernier il faut soit ajouter +1 à une date ou -1 à l'autre

    pour revenir à la demande ta formule modifiée avec l'aide de Patrice que je salue t'affichera des mois ou des jours à 0 dans ton exemple 1 a 0 m et 0 j

    ce qui est dommage, une formule plus complexe permet d'afficher uniquement les années ou mois ou encore jours s'il y en a et prend en compte le pluriel des années et jours si c'est le cas
    =SI(C3+1-B3;TEXTE(DATEDIF(B3;C3+1;"y");"[>1]0"" ans "";[>]""1 an "";")&TEXTE(DATEDIF(B3;C3+1;"ym");"[>]0"" mois "";")&SI(C3+1-MOIS.DECALER(B3;DATEDIF(B3;C3+1;"m"))>1;C3+1-MOIS.DECALER(B3;DATEDIF(B3;C3+1;"m"))&" jours";SI(C3+1-MOIS.DECALER(B3;DATEDIF(B3;C3+1;"m"))=1;C3+1-MOIS.DECALER(B3;DATEDIF(B3;C3+1;"m"))&" jour";"")))

    et pour traiter les cellules C3 et B3 vide tu peux ajouter une conditionnelle
    =SI(ET(B3<>"";C3<>"");SI(C3+1-B3;TEXTE(DATEDIF(B3;C3+1;"y");"[>1]0"" ans "";[>]""1 an "";")&TEXTE(DATEDIF(B3;C3+1;"ym");"[>]0"" mois "";")&SI(C3+1-MOIS.DECALER(B3;DATEDIF(B3;C3+1;"m"))>1;C3+1-MOIS.DECALER(B3;DATEDIF(B3;C3+1;"m"))&" jours";SI(C3+1-MOIS.DECALER(B3;DATEDIF(B3;C3+1;"m"))=1;C3+1-MOIS.DECALER(B3;DATEDIF(B3;C3+1;"m"))&" jour";""))))

    1
    1. Bonjour Mike,
      Bonjour Gil,

      Plus simplement :
      =SI(ET(B2>0;B2<C2);TEXTE(DATEDIF(B2;C2+1;"y");"[>1]0"" ans "";[>]""1 an "";")&TEXTE(DATEDIF(B2;C2+1;"ym");"[>]0"" mois "";")&TEXTE(DATEDIF(B2;C2+1;"md");"[>1]0"" jours"";[>]""1 jour"";");"")


      Cdlt
      Patrice
      0
    2. Salut Patrice,

      Je n'ai pas eu le temps d'aller plus loin ni tester ta formule que tu as certainement fait mais AH OUI pas besoin d'autant de conditionnelles effectivement.
      J'espère que Gil369 repassera par la.
      Merci à toi et bonne journée.
      0
  2. Bonjour,

    En ajoutant le jour qui manque !
    I.e dans la formule, remplacer C3 par (C3+1)
    0
    1. re,
      bon sang mais c'est bien sur !!!!
      merci beaucoup
      cordialement
      Gil
      0
  3. Sujet résolu
    Cordialement
    Gil
    0
    1. Bonjour Mike-31
      j'ai testé ta formule; c'est nickel !!!!

      Merci a vous deux : Mike et Patrice

      Cordialement

      Gil

      0