Erreur calcul avec Datedif
Le
Fredo(67)

Bonjour,
J'utilise la fonction Datedif depuis pas mal de temps, elle fonctionne
très bien
Enfin jusqu'à hier, parceque depuis j'ai un drole de résultat :
la Cellule K16 contient la date 29/02/1988
La fonction DATEDIF entre aujourd'hui et cette date
soit
=SI(ET(DATEDIF(K16;AUJOURDHUI();"y")=0;DATEDIF(K16;AUJOURDHUI();"ym")=
=0;DATEDIF(K16;AUJOURDHUI();"md")=0);
0&"
jour";SI(DATEDIF(K16;AUJOURDHUI();"y")<>0;DATEDIF(K16;AUJOURDHUI();"y")&SI(=
DATEDIF(K16;AUJOURDHUI();"y")>1;"
ans ";" an
");"")&SI(DATEDIF(K16;AUJOURDHUI();"ym")<>0;DATEDIF(K16;AUJOURDHUI();"ym")&=
"
mois
";"")&SI(DATEDIF(K16;AUJOURDHUI();"md")<>0;DATEDIF(K16;AUJOURDHUI();"md")&S=
I(DATEDIF(K16;AUJOURDHUI();"md")>1;"
jours";"jour");""))
donne le résultat suivant :
23 ans 10 mois 121 jours
Par ailleur cette variante de la formule
=SI(AUJOURDHUI()-K16;TEXTE(DATEDIF(K16;AUJOURDHUI();"y");"[>1]0""
ans"";[>]""1 an"";")&TEXTE(DATEDIF(K16;AUJOURDHUI();"ym");"[>] 0""
mois "";")&TEXTE(DATEDIF(K16;AUJOURDHUI();"md");"[>1]0"" jours"";
[>]""1 jour"";");"0 jour")
Donne le même résultat.
Mais si on a 121 jours, elle devrait convertir ces jours en mois.
Par ailleurs la bonne réponse serait plutôt 8 jours
d'où peut provenir cette erreur
Pour info je suis sur
Excel 2007 sur un Windows7 X64
Jouer avec le calcul au format de calendrier depuis 1904 ne change
rien au résultat.
Comment corriger cela. ?
J'utilise la fonction Datedif depuis pas mal de temps, elle fonctionne
très bien
Enfin jusqu'à hier, parceque depuis j'ai un drole de résultat :
la Cellule K16 contient la date 29/02/1988
La fonction DATEDIF entre aujourd'hui et cette date
soit
=SI(ET(DATEDIF(K16;AUJOURDHUI();"y")=0;DATEDIF(K16;AUJOURDHUI();"ym")=
=0;DATEDIF(K16;AUJOURDHUI();"md")=0);
0&"
jour";SI(DATEDIF(K16;AUJOURDHUI();"y")<>0;DATEDIF(K16;AUJOURDHUI();"y")&SI(=
DATEDIF(K16;AUJOURDHUI();"y")>1;"
ans ";" an
");"")&SI(DATEDIF(K16;AUJOURDHUI();"ym")<>0;DATEDIF(K16;AUJOURDHUI();"ym")&=
"
mois
";"")&SI(DATEDIF(K16;AUJOURDHUI();"md")<>0;DATEDIF(K16;AUJOURDHUI();"md")&S=
I(DATEDIF(K16;AUJOURDHUI();"md")>1;"
jours";"jour");""))
donne le résultat suivant :
23 ans 10 mois 121 jours
Par ailleur cette variante de la formule
=SI(AUJOURDHUI()-K16;TEXTE(DATEDIF(K16;AUJOURDHUI();"y");"[>1]0""
ans"";[>]""1 an"";")&TEXTE(DATEDIF(K16;AUJOURDHUI();"ym");"[>] 0""
mois "";")&TEXTE(DATEDIF(K16;AUJOURDHUI();"md");"[>1]0"" jours"";
[>]""1 jour"";");"0 jour")
Donne le même résultat.
Mais si on a 121 jours, elle devrait convertir ces jours en mois.
Par ailleurs la bonne réponse serait plutôt 8 jours
d'où peut provenir cette erreur
Pour info je suis sur
Excel 2007 sur un Windows7 X64
Jouer avec le calcul au format de calendrier depuis 1904 ne change
rien au résultat.
Comment corriger cela. ?
Il y a une erreur connue ((c) Modeste) :
Attention DATEDIF est buggé
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
ÚTEDIF(A1;B1;"md")
Daniel
Y'a t'il moyen de contourner cette erreur, ou faut il attendre de
finir le mois de janvier
Car à te lire j'ai compris que cela n'arrive qu'avec le mois de
janvier des années bisextiles...
Cordialement
On 6 jan, 15:59, DanielCo
http://www.excelabo.net/trucs/temps_ecoule_entre_deux_dates
Daniel
http://www.excelabo.net/trucs/temps_ecoule_entre_deux_dates
Daniel
merci pour cette reponse rapide.
Cela m'enlève une sacré épine du pied
Et la fonction dont tu m'a indiqué le lien focntionne parfaitement.
Merci
On 6 jan, 17:15, news.free.fr