Calcul ancienneté : Année Mois Jours

Résolu
Haf09100 Messages postés 15 Date d'inscription lundi 29 avril 2019 Statut Membre Dernière intervention 6 février 2024 - 5 févr. 2024 à 17:24
brucine Messages postés 14476 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 7 mai 2024 - 6 févr. 2024 à 09:15

Bonjour à tous, 

Je recherche en vain une formule excel me permettant de calculer l'ancienneté en Année Mois Jours.

J'ai bien trouvé plusieurs fois la même formule sur internet mais j'ai des soucis lorsque par exemple : 

- du 01/01/2020 au 31/12/2023 -> au lieu de mettre 4 ans -> j'ai 3 ans 11 mois 31 jours

- du 01/01/2020 au 31/01/2024 -> au lieu de mettre 1 an et 1 mois -> j'ai 4 ans 0 mois 31 jours

J'avais le même soucis lorsque je faisais 01/01/2020 au 31/01/2020 -> mais en ajoutant +1 j'ai eu le bon résultat. Idem quand je faisais 01/01/2020 au 01/02/2020 j'avais un écart, mais le +1 m'a bien corrigé. 

Mais pour les deux écarts plus haut, je n'arrive pas à trouver la bonne formule. 

Ci-dessous la formule que j'ai testé : 

=SIERREUR(SI(OU(G7="";G8="");"";DATEDIF(G7;G8;"y")&" ans "&DATEDIF(G7;G8;"ym")&" mois 
"&SI((DATEDIF(G7;G8;"md")+1)>0;(DATEDIF(G7;G8;"md")+1)&" jours";""));0)

G7 = date de début

G8 = date de fin

Merci infiniment pour votre aide !

A voir également:

2 réponses

brucine Messages postés 14476 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 7 mai 2024 1 849
5 févr. 2024 à 18:13

Bonjour,

Pour que l'intervalle soit calculé correctement, le +1 ne doit pas être à l'extérieur de DATEDIF mais ajouté à la date d'arrivée:
=DATEDIF(G7;G8+1;"y")&" ans "

=DATEDIF(G7;G8+1;"ym")&" mois"

=DATEDIF(G7;G8+1;"md")&" jours"

restant la décoration en n'affichant rien si une des valeurs est nulle et en enlevant le "s" si elle vaut 1.

1
Haf09100 Messages postés 15 Date d'inscription lundi 29 avril 2019 Statut Membre Dernière intervention 6 février 2024
6 févr. 2024 à 09:06

Bonjour @brucine StatutMembre

Merci beaucoup ! Ca marche parfaitement !!!

Tout cumulé ça donne ça :

=SIERREUR(SI(OU(G7="";G8="");0;DATEDIF(G7;G8+1;"y")&" ans "&DATEDIF(G7;G8+1;"ym")&" mois "&DATEDIF(G7;G8+1;"md")&" jours");0)

Pour les "s" ça ne me pose pas trop de soucis :) 

Merciiiiii

0
brucine Messages postés 14476 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 7 mai 2024 1 849
6 févr. 2024 à 09:15

Bonjour,

De rien.

Si tu veux malgré tout faire dans "la cosmétique", comme ça:

SI(DATEDIF(G7;G8+1;"y")=0;"";SI(DATEDIF(G7;G8+1;"y")=1; DATEDIF(G7;G8+1;"y")&" an";DATEDIF(G7;G8+1;"y")&" ans"))

idem pour les mois et les jours.

0