calcul de délai entre deux dates

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

  • Classeur1.xlsx
    9.5 KB · Affichages: 79
  • Classeur1.xlsx
    9.5 KB · Affichages: 79
  • Classeur1.xlsx
    9.5 KB · Affichages: 77

karakoman1

XLDnaute Occasionnel
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+
 

ufernet

XLDnaute Junior
Re : calcul de délai entre deux dates

bonjour karakoman,

Merci pour la formule mais elle me renvoie #NOMBRE! . Les dates saisies en D4 et en E4 sont au format jj/mm/yyyy. Un porblème de format? pourtant la formule me semble correcte...bizarre
 

Modeste geedee

XLDnaute Barbatruc
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
 

Modeste geedee

XLDnaute Barbatruc
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: 96
  • amsj.xlsx
    20.3 KB · Affichages: 79
  • Capture.jpg
    Capture.jpg
    34.6 KB · Affichages: 92
  • Capture.jpg
    Capture.jpg
    34.6 KB · Affichages: 117

ufernet

XLDnaute Junior
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
 

karakoman1

XLDnaute Occasionnel
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
 

Modeste geedee

XLDnaute Barbatruc
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")
 

Discussions similaires

Réponses
15
Affichages
473
Réponses
9
Affichages
554

Statistiques des forums

Discussions
312 330
Messages
2 087 347
Membres
103 526
dernier inscrit
HEC