Calcul erroné avec DATEDIF

Le
dan84250
Bonjour,

Mon niveau de "confiance" vis vis de la fonction DATEDIF est en
baisse depuis que j'obtiens des rsultats curieux en utilisant cette
fonction.

Exemple: date fin : 03/03/2003, date dbut 31/01/2003

DATEDIF (dbut;fin;"ym")= 1
DATEDIF (dbut;fin;"md")= 0

Pourquoi n'obtient-t-on pas 1 mois et 3 jours?

Merci de vos rponses
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
phil
Le #3674121
Salut
le résultat est bizarre d'accord, mais il s'explique
date de départ 31/01/2003
+1 mois égale 31/02/2003
mais comme le mois de février n'a que 28 jours excel prend
jusqu'au 28 et il reste (31-28) 3 jours à rajouter donc le 03/03/2003
donc pour excel, il y a juste un mois de différence !

exemple date fin : 03/03/2003, date début 28/01/2003

DATEDIF (début;fin;"ym")= 1
DATEDIF (début;fin;"md")= 3
du 28 janvier au 28 février = 1 mois et jusqu'au 3 mars 3 jours : 1 mois et
3 jours
si ta date de départ est le 31/01/2003, il y a 3 jours en moins donc 1 mois
et 0 jours

Donc ton problème c'est en partant du 31/01/2003 si on ajoute un mois quand
est-ce que tu veux que ça tombe ?
Parce que si pour toi 31/01/2003 + 1 mois ça tombe le 28/02/2003
t'auras un problème parce qu'alors 28/01/2003 + 1 mois tombe aussi le
28/02/2003
et 29/01/2003 + 1 mois tombe à nouveau le 28/02/2003

Bref son calcul est peut être bizarre mais il est correct.
Voilà pour l'explication, qui permet de comprendre le résulat dans la
"logique" d'excel.

@+Phil

"dan84250"
Bonjour,

Mon niveau de "confiance" vis à vis de la fonction DATEDIF est en
baisse depuis que j'obtiens des résultats curieux en utilisant cette
fonction.

Exemple: date fin : 03/03/2003, date début 31/01/2003

DATEDIF (début;fin;"ym")= 1
DATEDIF (début;fin;"md")= 0

Pourquoi n'obtient-t-on pas 1 mois et 3 jours?

Merci de vos réponses
Gros Minet
Le #3673971
Bonjour !

Avec ta date de fin en A2, pour obtenir le nb de jours entre cette date et
le début de "son" mois :

¢-(DATE(ANNEE(A2);MOIS(A2);JOUR(1))-1) à remettre au format standard.

J'espère que ça t'aidera.

Cordialement.

Gros Minet.

"dan84250"
Bonjour,

Mon niveau de "confiance" vis à vis de la fonction DATEDIF est en
baisse depuis que j'obtiens des résultats curieux en utilisant cette
fonction.

Exemple: date fin : 03/03/2003, date début 31/01/2003

DATEDIF (début;fin;"ym")= 1
DATEDIF (début;fin;"md")= 0

Pourquoi n'obtient-t-on pas 1 mois et 3 jours?

Merci de vos réponses
AV
Le #3759701
C'est le problème d'une fonction qui raisonne en mois de durée égale alors que
ce n'est pasle cas...
31/01/2003 + 1 mois = ... 31/02/2003 !
Comme cette date n'est pas valide, XL la transforme "logiquement" en
03/03/2003
D'ou le "résultat curieux" mais "logique" de 0
Pas le choix pour ce disfonctionnement de DATEDIF : c'est à prendre ou à
laisser

AV
Antoine
Le #3759471
Bonjour,

La solution au problème qui se pose à toi peut être de passer par :
ÚTE(ANNEE(B1);MOIS(B1)+1;JOUR(B1))
En mettant 25/2/06 en B1, tu obtiendras bien 25/03/06 en résultat !...

Antoine

"AV"
C'est le problème d'une fonction qui raisonne en mois de durée égale alors
que
ce n'est pasle cas...
31/01/2003 + 1 mois = ... 31/02/2003 !
Comme cette date n'est pas valide, XL la transforme "logiquement" en
03/03/2003
D'ou le "résultat curieux" mais "logique" de 0
Pas le choix pour ce disfonctionnement de DATEDIF : c'est à prendre
ou à
laisser

AV




AV
Le #3759461
| La solution au problème qui se pose à toi

J'ai pas de problème...
J'eussssplique !

AV
AV
Le #3759451
"..La solution au problème qui se pose à toi peut être de passer par :
ÚTE(ANNEE(B1);MOIS(B1)+1;JOUR(B1))
En mettant 25/2/06 en B1, tu obtiendras bien 25/03/06 en résultat !."

Hum...hum...
Et en mettant 31/01/03 en B1 tu obtiendras quoi.. ?
---> 03/03/2003 .
voir explication, au-dessus.

AV
Poster une réponse
Anonyme