Calcul de durée entre 2 dates [Résolu/Fermé]

Signaler
-
 Adm82 -
Bonjour famille,

je cherche une formule sur excel me permettant de calculer le temps ou la durée entre 2 dates distinct en spécifiant le nombre d'année, de mois et de jours.

En vous remerciant,

Par exemple:
20/02/2013 (A1)
21/03/2015 (B1)
C1: La formule en question qui permettra d'optenir 2 ans 1 mois 1 jour.


4 réponses

Messages postés
346
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
2 juin 2015
109
Salam Adm82.

Tu trouveras la solution ici : https://www.commentcamarche.net/faq/22460-difference-entre-dates-avec-la-fonction-datedif

Bon après-midi.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
17297
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
30 octobre 2020
4 341
salut Redaiwa,

tu arrives avec un temps de retard et la demande était plus complexe avec une affichage "obtenir 2 ans 1 mois 1 jour"
bonne après midi
Messages postés
346
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
2 juin 2015
109
Salam Mike-31. Tu ne serais pas le cousin d'Ulysse 31 par hasard ? :D
https://www.generiquestele.com/Ulysse_31

Effectivement, je prend parfois beaucoup de temps à chercher des réponses à des questions qui sont entre-temps résolues sans que je ne le saches...

Mais concernant cette question, je confirme que la fonction DATEDIF() répond parfaitement à la demande de Adm82.
=DATEDIF(A1;B1;"y") & " an(s) " & DATEDIF(A1;B1;"ym") & " mois et " & DATEDIF(A1;B1;"md") & " jour(s)"

Bonne journée. :)
Messages postés
17297
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
30 octobre 2020
4 341
Bonjour,

avec simplement la date de départ en A1, la formule traite le pluriel des années et jours et décompte entre la date et Aujourd'hui

=SUPPRESPACE(SI(AUJOURDHUI()-A1;TEXTE(DATEDIF(A1;AUJOURDHUI();"y");"[>1]0"" ans "";[>]""1 an "";")&TEXTE(DATEDIF(A1;AUJOURDHUI();"ym");"[>]0"" mois "";")&SI(AUJOURDHUI()-MOIS.DECALER(A1;DATEDIF(A1;AUJOURDHUI();"m"))>1;AUJOURDHUI()-MOIS.DECALER(A1;DATEDIF(A1;AUJOURDHUI();"m"))&" jours";SI(AUJOURDHUI()-MOIS.DECALER(A1;DATEDIF(A1;AUJOURDHUI();"m"))=1;AUJOURDHUI()-MOIS.DECALER(A1;DATEDIF(A1;AUJOURDHUI();"m"))&" jour";""))))

il est possible d'alléger la formule en supprimant la prise en compte des pluriels et si tu veux décompter entre A1 et B1 remplace dans la formule AUJOURDHUI() par B1

Mille fois merci Mike-31
ça marche très bien!
Bien à toi!
Messages postés
17297
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
30 octobre 2020
4 341
Salut Redaiwa,

oui je suis d'accord et c'est bien la syntaxe DATEDIF que j'ai également utilisé avec un aménagement du code pour n'afficher que les données positives et gérer le pluriel des ans et jours

si le résultat obtenu, si en A1 tu as 18/3/2014 et en B1 18/3/2015 le résultat est 1 an et ma formule affiche 1 an, ta formule affiche 1 an(s) 0 mois et 0 jour(s)
si en A1 tu as 18/3/2013 et en B1 19/3/2015 ma formule affichera 2 ans 1 jour en mettant au pluriel "an" et jour au singulier alors que ta formule épurée affichera 2 an(s) 0 mois et 1 jour(s)

dans ce cas tu peux compléter ta proposition comme cela
=SI(B1-A1;TEXTE(DATEDIF(A1;B1;"y");"[>1]0"" ans "";[>]""1 an "";")&TEXTE(DATEDIF(A1;B1;"ym");"[>]0"" mois "";")&SI(B1-A1;TEXTE(DATEDIF(A1;B1;"md");"[>1]0"" jours "";[>]""1 jour "";")))

et j'ajouterai une conditionnelle en tête pour tester les cellules A1 et B1 afin d'éviter un calcul depuis le 1/1/1900 dans le cas de cellule A1 vide ou un message d'erreur si B1 ou A1 et B1 sont vide
Messages postés
346
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
2 juin 2015
109
Salam Mike.
Juste pour te dire que tes contributions sont vraiment enrichissantes.
Tu apportes souvent la cerise qui manque au gâteau :)
Bonne journée.
Messages postés
17297
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
30 octobre 2020
4 341
Salut,

C'est ça l'intérêt d'un forum, une mine de connaissance, un lieu d'échange qui doit rester convivial.
Cordialement
Mike-31
Merci à vous, Mike-31 et redaiwa