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
Jacquouille
Bonjour
En colonne A, je mets la première info (1/1/2010)
En colonne B, je mets la seconde (27/1/2010)
En C1 ---> =(B1-A1)+1 et je trouve 27 comme dans le tableau.

Cette façon me donnera toujours la différence, qu'il y aie 28 ou 29 jours en
février.
Pour ce qui est de la règle commerciale des 30 jours, je ne connais pas
celle de votre pays.
Ici, à Liège (B), on fait "30 jours, fin de mois. c'est à d que la facture
doit être payée au plus tard dans les 30 jours qui suivent la fin du mois de
la date facture.
Une facture du 15 Fév devra être payée 30 j après le 28/29 fév.

Jacquouille

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


Bonjour à vous tous,

un petit soucis de formule de décompte de dates. Qui peut m'apporter une
solution.

=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

Cette formule devrait me donner les résultats suivants en fonction d'une
simple règle commerciale de 30 jours, mais qui devrait calculer le mois de
février 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ème exemple. Il ne compte que 25 jours
sur le mois de février. Sinon tout le reste semble correspondre.

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

Guido
Avatar
Guido
Bonjour à vous tous,

Quelqu'un aurait une idée de correctif pour la formule ?

Merci de vos réponses

Guido

Le lundi 26 mars 2012 23:56:20 UTC+2, Guido a écrit :
Bonjour à vous tous,

un petit soucis de formule de décompte de dates. Qui peut m'apporter un e solution.

=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

Cette formule devrait me donner les résultats suivants en fonction d'un e simple règle commerciale de 30 jours, mais qui devrait calculer le mois de février selon son nombre exacte de jours (soit 28 jours, soit 29 jour s).

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ème exemple. Il ne compte que 25 jo urs sur le mois de février. Sinon tout le reste semble correspondre.

Qui saurait m'aider, dans la mise au point de cette formules pseudo comme rciale ??

Guido
Avatar
Gloops
Guido a écrit, le 30/03/2012 13:24 :
Bonjour à vous tous,

Quelqu'un aurait une idée de correctif pour la formule ?

Merci de vos réponses

Guido

Le lundi 26 mars 2012 23:56:20 UTC+2, Guido a écrit :
Bonjour à vous tous,

un petit soucis de formule de décompte de dates. Qui peut m'apporter une solution.

=SI(JOUR(A1)=1;30;FIN.MOIS(A1;0)-A1+1)+SI(FIN.MOIS(B1;0);30;J OUR(B1))+JOURS360(FIN.MOIS(A1;0);FIN.MOIS(B1;0))-30

Cette formule devrait me donner les résultats suivants en fonction d 'une simple règle commerciale de 30 jours, mais qui devrait calculer le mois de février 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ème exemple. Il ne compte que 25 jours sur le mois de février. Sinon tout le reste semble correspondre.

Qui saurait m'aider, dans la mise au point de cette formules pseudo co mmerciale ??

Guido






Bonjour,

J'ai l'impression que ta question rejoint celle de la date du dernier
jour du mois, puisqu'on y ajoute 30 jours.

Comme on la calcule en retirant 1 au premier du mois suivant, en
définitive, on ajoutera 29 au premier du mois suivant.

Il y a toute une littérature dans les newsgroups sur la date du dernier
jour du mois, mais j'ai négligé de mémoriser la solution la plus é légante.

ça doit pouvoir se faire avec quelques formules, j'imagine que dans un
newsgroup ça sera plus facile à présenter sous forme de fonction :

Public Function TrenteFinMois(DateFact As Date) As Date
Dim DtTemp As Date
DtTemp = DateSerial(Year(DateFact), Month(DateFact), 25) + 10
TrenteFinMois = DateSerial(Year(DtTemp), Month(DtTemp), 30)
End Function

DtTemp se trouve dix jours après le 25 du mois de la facture : donc,
autour du 5 du mois suivant. Ce qu'on en retient pour la suite c'est que
c'est une date du mois suivant.

TrenteFinMois donne le 30 du mois suivant, autrement dit, 30 jours fin
de mois.
Si je me suis trompé d'un jour il suffira de corriger la fin de la
dernière ligne de la fonction.

Excuse, je n'ai pas pris le temps de regarder le détail de ce que tu as
fait.


http://groups.google.fr/groups/search?hl=fr&as_q=&as_epqte+du+de rnier+jour+du+mois&as_oq=Excel&as_eq=&num&scoring=&lr=&as_si tesearch=&as_qdr=&as_mind=1&as_minm=1&as_miny 12&as_maxd=1& as_maxm=1&as_maxy 12&as_ugroup=&as_usubject=&as_uauthors=&saf e=off
Avatar
Guido
Bonjour Gloups,

merci de t'intéresser à ma question.

la formule fonctionne super bien lorsqu'il s'agit par exemple de calculer l es mois sur 30 jours, comme pour des calculs financiers.

Malheureusement, je ne calcule pas de jours financier, mais des jours de pr ésence, en fonction du mois.

Le tableau récapitulatif des jours comptabilisés représente en fait, ce que je devrais ressortir pour ces périodes.

Mais voilà, je n'arrive pas à trouver/corriger la formule pour qu'elle me calcule les présence en fonction des mois (max 30 jours/mois) sauf pou r le mois de février. En effet, le 31ème jours d'un mois ne doit pas être comptabilisé.

Question macro, je n'ai pas la possibilité d'intégrer des macros au bou lot.

Désolé, je sais que cela aurait été plus simple, mais voilà...

Merci d'avance

Guido


Le mercredi 11 avril 2012 12:51:56 UTC+2, Gloops a écrit :
Guido a écrit, le 30/03/2012 13:24 :
> Bonjour à vous tous,
>
> Quelqu'un aurait une idée de correctif pour la formule ?
>
> Merci de vos réponses
>
> Guido
>
> Le lundi 26 mars 2012 23:56:20 UTC+2, Guido a écrit :
>> Bonjour à vous tous,
>>
>> un petit soucis de formule de décompte de dates. Qui peut m'apporter une solution.
>>
>> =SI(JOUR(A1)=1;30;FIN.MOIS(A1;0)-A1+1)+SI(FIN.MOIS(B1;0);30;J OUR(B1))+JOURS360(FIN.MOIS(A1;0);FIN.MOIS(B1;0))-30
>>
>> Cette formule devrait me donner les résultats suivants en fonction d 'une simple règle commerciale de 30 jours, mais qui devrait calculer le m ois de février selon son nombre exacte de jours (soit 28 jours, soit 29 j ours).
>>
>> 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ème exemple. Il ne compte que 25 jours sur le mois de février. Sinon tout le reste semble correspondre.
>>
>> Qui saurait m'aider, dans la mise au point de cette formules pseudo co mmerciale ??
>>
>> Guido
>

Bonjour,

J'ai l'impression que ta question rejoint celle de la date du dernier
jour du mois, puisqu'on y ajoute 30 jours.

Comme on la calcule en retirant 1 au premier du mois suivant, en
définitive, on ajoutera 29 au premier du mois suivant.

Il y a toute une littérature dans les newsgroups sur la date du dernier
jour du mois, mais j'ai négligé de mémoriser la solution la plus élégante.

ça doit pouvoir se faire avec quelques formules, j'imagine que dans un
newsgroup ça sera plus facile à présenter sous forme de fonction :

Public Function TrenteFinMois(DateFact As Date) As Date
Dim DtTemp As Date
DtTemp = DateSerial(Year(DateFact), Month(DateFact), 25) + 10
TrenteFinMois = DateSerial(Year(DtTemp), Month(DtTemp), 30)
End Function

DtTemp se trouve dix jours après le 25 du mois de la facture : donc,
autour du 5 du mois suivant. Ce qu'on en retient pour la suite c'est que
c'est une date du mois suivant.

TrenteFinMois donne le 30 du mois suivant, autrement dit, 30 jours fin
de mois.
Si je me suis trompé d'un jour il suffira de corriger la fin de la
dernière ligne de la fonction.

Excuse, je n'ai pas pris le temps de regarder le détail de ce que tu as
fait.


http://groups.google.fr/groups/search?hl=fr&as_q=&as_epqte+du+de rnier+jour+du+mois&as_oq=Excel&as_eq=&num&scoring=&lr=&as_site search=&as_qdr=&as_mind=1&as_minm=1&as_miny 12&as_maxd=1&as_m axm=1&as_maxy 12&as_ugroup=&as_usubject=&as_uauthors=&safe=of f
Avatar
Gloops
Si j'ai bien compris, il y a deux questions :
- l'évaluation du nombre de jours ouvrés, pour calculer le montant à
facturer
- l'évaluation de la date de paiement, à 30 jours fin de mois

Il me paraît très difficile de mélanger les deux questions.

La date de paiement, c'est fait, je crois.

Pour l'intervalle entre deux dates, sans s'occuper des jours fériés e t
week-ends c'est DateDiff, sinon ...

Google a plein de trucs à raconter là-dessus en faisant une recherche
sur "Excel intervalle entre deux dates".

Oops, pardon, la bonne recherche serait plutôt "Excel nombre de jours
ouvrables entre deux dates" et du coup la réponse peut être
http://support.microsoft.com/kb/466909/fr


____________________________________
Guido a écrit, le 13/04/2012 12:54 :
Bonjour Gloups,

merci de t'intéresser à ma question.

la formule fonctionne super bien lorsqu'il s'agit par exemple de calcul er les mois sur 30 jours, comme pour des calculs financiers.

Malheureusement, je ne calcule pas de jours financier, mais des jours d e présence, en fonction du mois.

Le tableau récapitulatif des jours comptabilisés représente en fa it, ce que je devrais ressortir pour ces périodes.

Mais voilà, je n'arrive pas à trouver/corriger la formule pour qu'e lle me calcule les présence en fonction des mois (max 30 jours/mois) sa uf pour le mois de février. En effet, le 31ème jours d'un mois ne doi t pas être comptabilisé.

Question macro, je n'ai pas la possibilité d'intégrer des macros au boulot.

Désolé, je sais que cela aurait été plus simple, mais voilà.. .

Merci d'avance

Guido
Avatar
Gloops
Guido a écrit, le 13/04/2012 12:54 :
Mais voilà, je n'arrive pas à trouver/corriger la formule pour qu'e lle me calcule les présence
en fonction des mois (max 30 jours/mois) sauf pour le mois de février .
En effet, le 31ème jours d'un mois ne doit pas être comptabilisé.



Aurais-je mal compris la question ?
Il ne s'agit pas d'évaluer le nombre de jours ouvrables, mais le maximu m
entre 30 et le nombre de jours du mois ?

Le nombre de jours du mois a été évoqué précédemment dans le fil,
ensuite pour le maximum il y a une fonction Max.

Quelquefois, la difficulté est de poser les questions, en les séparan t bien.
Avatar
Guido
Le vendredi 13 avril 2012 16:39:58 UTC+2, Gloops a écrit :
Guido a écrit, le 13/04/2012 12:54 :
> Mais voilà, je n'arrive pas à trouver/corriger la formule pour qu'e lle me calcule les présence
> en fonction des mois (max 30 jours/mois) sauf pour le mois de février .
> En effet, le 31ème jours d'un mois ne doit pas être comptabilisé.

Aurais-je mal compris la question ?
Il ne s'agit pas d'évaluer le nombre de jours ouvrables, mais le maximu m
entre 30 et le nombre de jours du mois ?

Le nombre de jours du mois a été évoqué précédemment dans le fil,
ensuite pour le maximum il y a une fonction Max.

Quelquefois, la difficulté est de poser les questions, en les séparan t bien.
Avatar
Guido
Bonsoir Gloops

Si je reprends mon tableau sur l'exemple d’intervalles de jours, je pensa is qu'il était explicite étant donné que les résultats donnés son t ceux effectivement à avoir (résultats calculés à la main).

En utilisant la formule nommée plus haut, le calcul de l'écart entre de ux 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 formule*"
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

Il s'agit de calculer le temps de présence journalière d'une personne ( rien à voir avec des francs ou euros) entre une date X et Y sur sa péri ode exacte, comprenant également les conditions contraignantes suivantes :

- un mois ne comporte que 30 jours entiers
- sauf si le début de la période commence après le 1er jour du mois
- sauf le mois de février car il comporte 28/29 jours

J'ai essayer de reproduire dans ce tableau les cas de figures de calculs po ssibles. Mais voilà, en utilisant la formule, le calcul de février ne m e donne pas le bon résultat. La formule donne 25 jours au lieu de 27 jour s comme sur le tableau.

Je te remercie pour t'être penché sur ma question.

Guido



Le vendredi 13 avril 2012 16:39:58 UTC+2, Gloops a écrit :
Guido a écrit, le 13/04/2012 12:54 :
> Mais voilà, je n'arrive pas à trouver/corriger la formule pour qu'e lle me calcule les présence
> en fonction des mois (max 30 jours/mois) sauf pour le mois de février .
> En effet, le 31ème jours d'un mois ne doit pas être comptabilisé.

Aurais-je mal compris la question ?
Il ne s'agit pas d'évaluer le nombre de jours ouvrables, mais le maximu m
entre 30 et le nombre de jours du mois ?

Le nombre de jours du mois a été évoqué précédemment dans le fil,
ensuite pour le maximum il y a une fonction Max.

Quelquefois, la difficulté est de poser les questions, en les séparan t bien.
Avatar
Gloops
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 (sau f 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
MichD
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
---------------------------------------------------------------
1 2 3 4 5