calcul de délai entre deux dates

  • Initiateur de la discussion Initiateur de la discussion ufernet
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ufernet

XLDnaute Junior
Bonjour,

Je souhaite calculer le délai entre deux dates et exprimer le résultat sous la forme x ans, x mois, x semaines, x jours. J'ai "bricolé" 4 formules dans le fichier joint mais je n'en suis pas satisfait car je ne suis pas sûr que cela prenne en compte les années bissextiles et les mois de 28 jours et de 30 jours. Si quelqu'un a une formule plus juste je suis preneur...
 

Pièces jointes

Re : calcul de délai entre deux dates

Bonjour Ufernet, le forum
Avec les dates en D4 et E4, regarde si cela te convient
=SI(D4="";"";SI(ET(DATEDIF(D4;E4;"y")=0;DATEDIF(D4;E4;"ym")=0;DATEDIF(D4;E4;"md")=0);0&" jour";SI(DATEDIF(D4;E4;"y")<>0;DATEDIF(D4;E4;"y")&SI(DATEDIF(D4;E4;"y")>1;" ans ";" an ");"")&SI(DATEDIF(D4;E4;"ym")<>0;DATEDIF(D4;E4;"ym")&" mois ";"")&SI(DATEDIF(D4;E4;"md")<>0;DATEDIF(D4;E4;"md")&SI(DATEDIF(D4;E4;"md")>1;" jours";" jour");"")))

A+
 
Re : calcul de délai entre deux dates

Bonsour®
Bonjour Ufernet, le forum
Avec les dates en D4 et E4, regarde si cela te convient
=SI(D4="";"";SI(ET(DATEDIF(D4;E4;"y")=0;DATEDIF(D4;E4;"ym")=0;DATEDIF(D4;E4;"md")=0);0&" jour";SI(DATEDIF(D4;E4;"y")<>0;DATEDIF(D4;E4;"y")&SI(DATEDIF(D4;E4;"y")>1;" ans ";" an ");"")&SI(DATEDIF(D4;E4;"ym")<>0;DATEDIF(D4;E4;"ym")&" mois ";"")&SI(DATEDIF(D4;E4;"md")<>0;DATEDIF(D4;E4;"md")&SI(DATEDIF(D4;E4;"md")>1;" jours";" jour");"")))

A+

l'utilisation de DATEDIF est buggée avec l'utilisation du paramètre "md" quand la date la plus récente est Janvier d'une année bissextile !!!
par ailleurs Ufernet demandait un découpage en Année, mois, semaine, jour
 
Re : calcul de délai entre deux dates

Bonsour®
Bonjour,

Je souhaite calculer le délai entre deux dates et exprimer le résultat sous la forme x ans, x mois, x semaines, x jours. J'ai "bricolé" 4 formules dans le fichier joint mais je n'en suis pas satisfait car je ne suis pas sûr que cela prenne en compte les années bissextiles et les mois de 28 jours et de 30 jours. Si quelqu'un a une formule plus juste je suis preneur...

Sachant que les années et les mois ne comptent pas les mêmes nombres de jours, il est utopique de vouloir assimiler ce découpage à un système de numération cohérent.

Selon les dates et relativement à leur positions respectives par rapport aux années bissextiles, si l'on ne considère que des périodes complètes (années entières, mois entiers) un même nombre total de jours peut aboutir jusque 5 découpages différents.

la méthode que tu utilises (année=365.25 jr, mois=(365.25/12) jr) est a mon sens la moins "fausse" car réversible.

en pièce jointes : simplification des formules et format personnalisés
 

Pièces jointes

  • Capture.jpg
    Capture.jpg
    34.6 KB · Affichages: 99
  • amsj.xlsx
    amsj.xlsx
    20.3 KB · Affichages: 79
  • Capture.jpg
    Capture.jpg
    34.6 KB · Affichages: 96
  • Capture.jpg
    Capture.jpg
    34.6 KB · Affichages: 121
Re : calcul de délai entre deux dates

Merci Modeste geedee,

Je ne connaissais pas ce type de formats personnalisés ni la fonction ENT. Le degré "d'approximation" du calcul sera suffisant pour sa destination. Je trouvais bizarre qu'il n'y ait pas une fonction Date dans excel qui permette un affichage en année, mois semaine et jour d'un simple calcul de date. Maintenant je comprends mieux. Encore Merci

Ufernet
 
Re : calcul de délai entre deux dates

Bonsoir Ufernet, Modeste geedee
Un espace s'est inseré à la copie de la formule, je lai enlevé et chez moi ça fonctionne.
Maintenant, il faut voir comme dit Modeste geedee, avec les années bissextiles

=SI(D4="";"";SI(ET(DATEDIF(D4;E4;"y")=0;DATEDIF(D4 ;E4;"ym")=0;DATEDIF(D4;E4;"md")=0);0&" jour";SI(DATEDIF(D4;E4;"y")<>0;DATEDIF(D4;E4;"y")& SI(DATEDIF(D4;E4;"y")>1;" ans ";" an ");"")&SI(DATEDIF(D4;E4;"ym")<>0;DATEDIF(D4;E4;"ym")&" mois ";"")&SI(DATEDIF(D4;E4;"md")<>0;DATEDIF(D4;E4;"md" )&SI(DATEDIF(D4;E4;"md")>1;" jours";" jour");"")))

Bonne soirée à tous
 
Re : calcul de délai entre deux dates

Bonsour®
Bonsoir Ufernet, Modeste geedee
Un espace s'est inseré à la copie de la formule, je lai enlevé et chez moi ça fonctionne.
Maintenant, il faut voir comme dit Modeste geedee, avec les années bissextiles

=SI(D4="";"";SI(ET(DATEDIF(D4;E4;"y")=0;DATEDIF(D4 ;E4;"ym")=0;DATEDIF(D4;E4;"md")=0);0&" jour";SI(DATEDIF(D4;E4;"y")<>0;DATEDIF(D4;E4;"y")& SI(DATEDIF(D4;E4;"y")>1;" ans ";" an ");"")&SI(DATEDIF(D4;E4;"ym")<>0;DATEDIF(D4;E4;"ym")&" mois ";"")&SI(DATEDIF(D4;E4;"md")<>0;DATEDIF(D4;E4;"md" )&SI(DATEDIF(D4;E4;"md")>1;" jours";" jour");"")))

Bonne soirée à tous

persiste et signe :
DATEDIF est buggé !!! avec le paramètre "md"
lorsque la date la plus récente :
est une année bissextile
ET
le mois est janvier
ET
le jour inferieur au jour de la date la plus ancienne :
ex :
24/06/1975 16/01/2008 136
=DATEDIF(A1;B1;"md")
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
170
Réponses
1
Affichages
288
Retour