Problème calcul durée entre plusieurs dates
Guygablau
Messages postés
30
Statut
Membre
-
brucine Messages postés 25018 Date d'inscription Statut Membre Dernière intervention -
brucine Messages postés 25018 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans un tableau, je mets des dates que je transforme en nombre de jours :
Date début Date de fin Nb de jours</gras>
01/01/2010 15/12/2014 1809 (formule appliquée : =DATEDIF(A7; B7; "d"))
01/05/2015 12/05/2017 742
Ce qui me donne un total de jours de présence : 2551.
Je souhaite convertir cette donnée en année mois jour. J'ai donc appliqué la formule :
=ENT(F7/365) & " an(s) " & ENT(MOD(F7;365)/30) & " mois " & MOD(F7;365)-(ENT(MOD(F7;365)/30)*30) & " jour(s)"
Mais le résultat me donne 6 an(s) 12 mois 1 jour(s), alors que je souhaiterais avoir 7 an(s) 0 mois 1 jour(s)
Merci pour votre aide
Dans un tableau, je mets des dates que je transforme en nombre de jours :
Date début Date de fin Nb de jours</gras>
01/01/2010 15/12/2014 1809 (formule appliquée : =DATEDIF(A7; B7; "d"))
01/05/2015 12/05/2017 742
Ce qui me donne un total de jours de présence : 2551.
Je souhaite convertir cette donnée en année mois jour. J'ai donc appliqué la formule :
=ENT(F7/365) & " an(s) " & ENT(MOD(F7;365)/30) & " mois " & MOD(F7;365)-(ENT(MOD(F7;365)/30)*30) & " jour(s)"
Mais le résultat me donne 6 an(s) 12 mois 1 jour(s), alors que je souhaiterais avoir 7 an(s) 0 mois 1 jour(s)
Merci pour votre aide
3 réponses
-
Attention, une année est composée de mois de 28, 30 et 31 jours
Excel, sans date de référence, ne peut pas faire autrement que de compter 30 jours par mois !
Dans ton résultat espéré, si tu fais 7X365, tu obtiens 2555, donc déjà plus que tes 2551 !!
C'est normal donc que ta formule te donne :
6 ans = 2190 jours
12 mois de 30 j = 360 jours
Et un solde de 1 jour !
2190+360+1=2551 !
ça fait des noeuds au cerveau, mais c'est excel !! ☺-
Bonjour,
Et qui plus est DATEDIF est plein de vice ne prenant pas en compte la fin de période: par exemple pour faire 12 mois, il faut 01/01/2015 à 01/01/2016 (alors que la réponse exacte est 31/12/2015).
On arrive à la "vérité" en décomposant plusieurs DATEDIF
La dernière année pleine de la première période prend fin le 31/12/2013
Il y a 11 mois du 01/01/2014 au 01/12/2014 (plus 1 jour à cause de DATEDIF) et 15 jours du 01/12/2014 au 16/12/2014.
Pour la 2ème période, 12 jours du 01/05/2017 au 13/05/2017
Le résultat global est donc 6 ans 11 mois 27 jours sauf erreur de ma part, restant à mathématiser ça dans une seule formule, je n'ai pas réfléchi au problème.
-
-
Bonjour à tous
Pratiquement d'accord avec Brucine, je trouve le résultat suivant : 6 an(s) 11 mois 26 jour(s)
avec la formule :
=ENT(F7/365)&" an(s) "&ENT(MOD(F7;365)/30,42)&" mois "&ENT(MOD(F7;365)-(ENT(MOD(F7;365)/30,42)*30,42))&" jour(s)"
puisque 365/12 donne une moyenne de 30,42 jours par mois
Cdlmnt
Via
-
Bonjour,
j'arrive également à 6 ans 11 mois 27 jours
J'ai laissé les calculs décomposés que tu suives le cheminement, plutôt qu'une formule imbuvable.
A toi de voir si tu préfères modifier en une formule unique.
https://www.cjoint.com/c/LBcxSvEjgg4
eric
-
Bonjour,
S'il s'agit d'une prestation basée sur une période, on est bel et bien tenu de calculer le nombre de jours exact même si 1 jour ne représente que moins de 1/2000ème de différence et n'a donc aucune incidence.
Le calcul en moyenne ne peut d'autant tomber sur le résultat exact que "par hasard" qu'il s'agit d'une moyenne et qu'il y a forcément au moins une année bissextile sur la période.
Mais s'il faut faire le calcul sur le plan formel, on a en effet aussi vite fait de le décomposer que de passer son temps à en faire une formule globale lourde si elle n'est destinée qu'à ce calcul en particulier, et c'est pour cela que je n'en ai pas moi non plus proposé.
-