Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calcul d'un écart de date (Correctif de formule SVP)

74 réponses
Avatar
Guido
Bonjour =E0 vous tous,

un petit soucis de formule de d=E9compte de dates. Qui peut m'apporter une =
solution.

=3DSI(JOUR(A1)=3D1;30;FIN.MOIS(A1;0)-A1+1)+SI(FIN.MOIS(B1;0)=3DB1;30;JOUR(B=
1))+JOURS360(FIN.MOIS(A1;0);FIN.MOIS(B1;0))-30

Cette formule devrait me donner les r=E9sultats suivants en fonction d'une =
simple r=E8gle commerciale de 30 jours, mais qui devrait calculer le mois d=
e f=E9vrier selon son nombre exacte de jours (soit 28 jours, soit 29 jours)=
.

01.01.2010 27.01.2010 27 jours
01.02.2010 27.02.2010 27 jours
01.02.2010 28.02.2010 28 jours
01.02.2012 29.02.2012 29 jours
04.05.2010 31.05.2010 28 jours
01.06.2010 30.06.2010 30 jours
01.07.2010 31.08.2010 60 jours
01.09.2010 30.09.2010 30 jours
04.05.2010 02.08.2010 90 jours
15.05.2010 19.11.2010 186 jours


j'ai par exemple un soucis avec le 2=E8me exemple. Il ne compte que 25 jour=
s sur le mois de f=E9vrier. Sinon tout le reste semble correspondre.

Qui saurait m'aider, dans la mise au point de cette formules pseudo commerc=
iale ??

Guido

10 réponses

1 2 3 4 5
Avatar
Guido
Bonsoir Gloops

Dans les calculs le mois de février se termine par 28 jours (sauf les ann ées bissextiles, bien entendu). Mais comme dit précédemment, je ne ca lcule pas d'intérêts ou autres questions bancaires. C'est un calcul de présence que je dois effectuer et qui m'impose les règles citées plus haut. Les mois pleins seront de 30 jours maximum, mais ce n'est pas le cas pour février, puisque je dois l'utiliser exactement selon son nombre de jours effectif. C'est pour cette raison que j'ai placé le tableau qui per met de contrôler si la formule fonctionne correctement en fonction des co ntraintes. Une simple formule comptable d'intérêts à 360 jours ne fon ctionne pas pour mon cas.

A+




Le samedi 14 avril 2012 11:49:31 UTC+2, Gloops a écrit :
Guido a écrit, le 14/04/2012 00:46 :
> Bonsoir Gloops
>
> Si je reprends mon tableau sur l'exemple dÂ’intervalles de jours, je p ensais qu'il était explicite étant donné que les résultats donnés sont ceux effectivement à avoir (résultats calculés à la main).
>
> En utilisant la formule nommée plus haut, le calcul de l'écart entr e deux dates se fait très bien en fonction des critères suivants (sauf février ligne 2).
>
> exemple :
>
> Début de période Fin de période nb de jours
>
> 01.01.2010 27.01.2010 27 jours
> 01.02.2010 27.02.2010 27 jours "*Erreur ici avec la formu le*"

Il est vrai que je n'avais pas trop regardé le tableau, comment se
fait-il qu'on se retrouve avec un mois de février qui se termine le 27 ?

C'est une année "anti-bisextile" ?

C'est encore plus étrange pour Janvier, d'ailleurs.
Avatar
Guido
Bonsoir MichD

Je te remercie pour t'être arrêté sur ma demande et te donne le feedb ack de la formule.

pour les périodes suivantes, un soucis de calcul de jours n'est pas bon.
Le reste des périodes calculées sont OK

Début de période Fin de période nb de jours

01.01.2010 27.01.2010 27 jours OK
01.02.2010 27.02.2010 27 jours "*Erreur 26 jours*"
01.02.2010 28.02.2010 28 jours "*Erreur 29 jours*"
01.02.2012 29.02.2012 29 jours "*Erreur 31 jours*"
04.05.2010 31.05.2010 28 jours ok
etc... OK

Encore merci pour ton aide

Guido


Le samedi 14 avril 2012 17:28:53 UTC+2, MichD a écrit :
Bonjour,

essaie cette formule :

=IF(DAY(A1)=1;30;EOMONTH(A1;0)-A1+1)+
IF(EOMONTH(B1;0)±;30;DAY(B1))+
DAYS360(EOMONTH(A1;0);EOMONTH(B1;0))+
IF(MONTH(B1)=2;IF(MOD(DAY(EOMONTH(B1;0));28)=0;1;2);0)-30

En français, ça devrait donner ceci :

=SI(JOUR(A1)=1;30;FIN.MOIS(A1;0)-A1+1)+
SI(FIN.MOIS(B1;0)±;30;JOUR(B1))+
JOURS360(FIN.MOIS(A1;0);FIN.MOIS(B1;0))+
SI(MOIS(B1)=2;SI(MOD(JOUR(FIN.MOIS(B1;0));28)=0;1;2);0)-30

MichD
---------------------------------------------------------------
Avatar
Gloops
Bon eh bien ça me rassure, il n'y a pas que moi : on dirait qu'il y a
une étape que tu considères comme évidente, et qui finalement ne l' est
pas tant que ça.
Avatar
Guido
Voilà. Je le la considère pas comme évidente, et c'est bien pour cett e raison que je viens poser ma question sur le Forum. Il y a une étape qu e je n'arrive pas à trouver dans le contexte de la formule et des contrai ntes posées, non pas personnellement, mais par ma hiérarchie.

Merci pour t'être penché sur mon cas.

Le dimanche 15 avril 2012 22:51:39 UTC+2, Gloops a écrit :
Bon eh bien ça me rassure, il n'y a pas que moi : on dirait qu'il y a
une étape que tu considères comme évidente, et qui finalement ne l' est
pas tant que ça.
Avatar
MichD
Si ton objectif est de trouver le nombre de jours existants entre ces 2 dates :

Ceci est suffisant:
ÚTEDIF(A1;B1;"d")+1

Dans tous les exemples que tu as donnés, seule la dernière est problématique :
15/05/10 19/11/10 186 jours
Le résultat devrait donner 189 jours

MichD
---------------------------------------------------------------
Avatar
Gloops
En fait, je parlais d'une étape dans l'évaluation des durées, en ne
s'occupant pas du tout d'Access.
J'ai évalué du début à la fin du mois, et apparemment j'ai eu tor t.

Guido a écrit, le 15/04/2012 23:57 :
Voilà. Je le la considère pas comme évidente, et c'est bien pour cette raison que je viens poser ma question sur le Forum. Il y a une ét ape que je n'arrive pas à trouver dans le contexte de la formule et des contraintes posées, non pas personnellement, mais par ma hiérarchie.

Merci pour t'être penché sur mon cas.
Avatar
Jacquouille
Bonjour

Je reprends ici l'exemple de Denis ....
A1 = 15/05/2010
B1 = 19/11/2010

Si je fais simplement B1-A1, j'obtiens 188 jours
Si j'applique la formule ÚTEDIF(A1;B1;"d")+1 préconisée par Denis,
j'obtiens 189, ce qui est logique, vu qu'il fait +1. Jusque là, on est
bons.

Pourquoi Denis arrive-t-il à 186 ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
jmfmia$349$


Si ton objectif est de trouver le nombre de jours existants entre ces 2
dates :

Ceci est suffisant:
ÚTEDIF(A1;B1;"d")+1

Dans tous les exemples que tu as donnés, seule la dernière est problématique
:
15/05/10 19/11/10 186 jours
Le résultat devrait donner 189 jours

MichD
---------------------------------------------------------------
Avatar
Jacquouille
Re
Dans tous les exemples donnés, le nombre de jours de B1 est toujours plus
grand que celui de A1.
Lorsque je fais:
A1 = 28/1/2010
B1 = 27/3/2010

B1-A1 donne 58
Útedif(a1;b1;"d")+1) donne 59 .... ce qui correspond bien avec la première
formule, puyisque on a rajouté 1.
Où le bât blesse, c'est avec la formule initiale de Guido:
=SI(JOUR(A1)=1;30;FIN.MOIS(A1;0)-A1+1)+SI(FIN.MOIS(B1;0)±;30;JOUR(B1))+JOURS360(FIN.MOIS(A1;0);FIN.MOIS(B1;0))-30
on obtient 61 ?????

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jacquouille" a écrit dans le message de groupe de discussion :
4f8bebee$0$3115$

Bonjour

Je reprends ici l'exemple de Denis ....
A1 = 15/05/2010
B1 = 19/11/2010

Si je fais simplement B1-A1, j'obtiens 188 jours
Si j'applique la formule ÚTEDIF(A1;B1;"d")+1 préconisée par Denis,
j'obtiens 189, ce qui est logique, vu qu'il fait +1. Jusque là, on est
bons.

Pourquoi Denis arrive-t-il à 186 ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
jmfmia$349$


Si ton objectif est de trouver le nombre de jours existants entre ces 2
dates :

Ceci est suffisant:
ÚTEDIF(A1;B1;"d")+1

Dans tous les exemples que tu as donnés, seule la dernière est problématique
:
15/05/10 19/11/10 186 jours
Le résultat devrait donner 189 jours

MichD
---------------------------------------------------------------
Avatar
MichD
| Pourquoi Denis arrive-t-il à 186 ?

Dans le premier message de Guido,
ceci : 15/05/10 19/11/10 186 jours
représentent le dernier exemple donné.

J'ai dit que le résultat devrait être de 189 jours, résultat
retourné par la formule. Le +1 de la formule, c'est pour tenir
compte du fait que les résultats proposés par Guido tiennent
compte et de la journée de départ et de la journée d'arrivée.
Habituellement, lorsque l'on fait une différence,
exemple : 10-5 le résultat est l'écart entre les 2 valeurs 5 et non 6.

MichD
---------------------------------------------------------------
Avatar
Guido
Bonjour à vous

je viens de voir vos messages. effectivement, j'ai pensé à Datedif, mai s dans le cas de figure initialement posé, il corrige les erreurs de dé compte pour le mois de février. Mais me pose un autre soucis. Les mois de 31 jours à ne comptabiliser que sur 30 jours, (sauf si le mois est entam é).
comme vous pourrez le constater avec les tests durant les dates suivantes.

résultat Datedif
01.07.2010 31.08.2010 60 jours / 62
04.05.2010 02.08.2010 90 jours / 91
31.03.2010 05.04.2010 63 jours / 64

D'où la tentative de la formule "Fin.Mois"








Le lundi 16 avril 2012 13:36:53 UTC+2, MichD a écrit :
| Pourquoi Denis arrive-t-il à 186 ?

Dans le premier message de Guido,
ceci : 15/05/10 19/11/10 186 jours
représentent le dernier exemple donné.

J'ai dit que le résultat devrait être de 189 jours, résultat
retourné par la formule. Le +1 de la formule, c'est pour tenir
compte du fait que les résultats proposés par Guido tiennent
compte et de la journée de départ et de la journée d'arrivée.
Habituellement, lorsque l'on fait une différence,
exemple : 10-5 le résultat est l'écart entre les 2 valeurs 5 et non 6.

MichD
---------------------------------------------------------------
1 2 3 4 5