Calcul date fin mois : comprendre l'ennoncé et calculer la date.

Le
SLerr
Bonjour.

Je cherche à comprendre et calculer la date de fin de mois avec l'énoncé
suivant :

• Actuellement, les payes sont calculées sur la période du 21 du mois
précédent jusqu’au 20 du mois en cours.
• A partir du mois de janvier 2013, nous ferons coïncider les arrêtés de
payes avec des semaines entières (arrêtées au dimanche soir), afin d’en
faciliter le décompte.
En janvier, cette formule n’aura pas d’incidence sur l’arrêté de paye qui se
fera à la fin de la semaine 03, ce qui correspond au dimanche 20 janvier .
En février, l’arrêté de paye s’effectuera à la fin de la semaine 08, soit le
24 février.
En mars, nous arrêterons à la fin de la semaine 12, soit le dimanche 24
mars.


Dans un premier temps en regardant un calendrier je ne suis pas sûr de la
bonne date :

Pour les 3 premiers mois la réponse est dans l'énoncé :
janv. 2013 (le 20 est le dimanche ) => dim 20/01/2013
fév. 2013 ( le 20 est le mercredi) => dim 24/02/2013
mar. 2013 ( le 20 est le mercredi) => dim 24/02/2013

avr. 2013 ( le 20 est le sam) => dim 21/04/2013
mai 2013 (le 20 est le lun) => dim 26/05/2013 ou dim 19/05/2013 ??
juin 2013 ( le 20 est le jeu) => dim 23/06/2013
juill. 2013 ( le 20 est le sam) => dim 21/07/2013
aout 2013 ( le 20 est le mar) => dim 25/08/2013 ou dim 18/08 ??
sept. 2013 (le 20 est le vend) => dim 22/09/2013
oct. 2013 ( (le 20 est le dim) => dim 20/10/2013
nov. 2013 ( le 20 est le merc) => dim 24/11/2013
déc. 2013 ( le 20 est le vend) => dim 22/12/2013

La question se pose de comprendre quand le 20 du mois est un lundi ou un
mardi. La fin du mois sera t'elle le dimanche suivant ou le dimanche
précédant ?
Comment calculer cette date ?


En vous remerciant.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
db
Le #25182432
Le 30/01/2013 11:46, SLerr a écrit :
Bonjour.

Je cherche à comprendre et calculer la date de fin de mois avec l'énoncé
suivant :

• Actuellement, les payes sont calculées sur la période du 21 du mois
précédent jusqu’au 20 du mois en cours.
• A partir du mois de janvier 2013, nous ferons coïncider les arrêtés
de payes avec des semaines entières (arrêtées au dimanche soir), afin
d’en faciliter le décompte.
En janvier, cette formule n’aura pas d’incidence sur l’arrêté de paye
qui se fera à la fin de la semaine 03, ce qui correspond au dimanche 20
janvier .
En février, l’arrêté de paye s’effectuera à la fin de la semaine 08,
soit le 24 février.
En mars, nous arrêterons à la fin de la semaine 12, soit le dimanche 24
mars.


Dans un premier temps en regardant un calendrier je ne suis pas sûr de
la bonne date :

Pour les 3 premiers mois la réponse est dans l'énoncé :
janv. 2013 (le 20 est le dimanche ) => dim 20/01/2013
fév. 2013 ( le 20 est le mercredi) => dim 24/02/2013
mar. 2013 ( le 20 est le mercredi) => dim 24/02/2013

avr. 2013 ( le 20 est le sam) => dim 21/04/2013
mai 2013 (le 20 est le lun) => dim 26/05/2013 ou dim 19/05/2013 ??
juin 2013 ( le 20 est le jeu) => dim 23/06/2013
juill. 2013 ( le 20 est le sam) => dim 21/07/2013
aout 2013 ( le 20 est le mar) => dim 25/08/2013 ou dim 18/08 ??
sept. 2013 (le 20 est le vend) => dim 22/09/2013
oct. 2013 ( (le 20 est le dim) => dim 20/10/2013
nov. 2013 ( le 20 est le merc) => dim 24/11/2013
déc. 2013 ( le 20 est le vend) => dim 22/12/2013

La question se pose de comprendre quand le 20 du mois est un lundi ou un
mardi. La fin du mois sera t'elle le dimanche suivant ou le dimanche
précédant ?
Comment calculer cette date ?


En vous remerciant.




Personnellement, je le comprends comme : le 1er dimanche dont la date
est supérieure ou égale au 20.
Donc 26/5 et 25/8

db
MichD
Le #25182572
Bonjour,

Cette formule retourne la date du premier dimanche après le 20 du mois ou si
le 20 est un dimanche, cela retourne le 20 du mois.

=SI(JOUR(A1-JOUR(A1)+29-JOURSEM(A1-JOUR(A1)))>';A1-JOUR(A1)+29-JOURSEM(A1-JOUR(A1))-7;A1-JOUR(A1)+29-JOURSEM(A1-JOUR(A1)))



MichD
--------------------------------------------------------------
SLerr
Le #25182822
Merci db et MichD pour votre réponse. J'ai envoyé un mail pour avoir
confirmation de la compréhension de l'énoncé auprès de la personne qui l'a
émis.

Par contre mon classeur est organisé comme suit :
1 feuille "paramètres" ou l'on peut modifier la variable année notée AN (ou
sont calculés les jours fériés en fonction de l'année)
12 feuilles correspondant au 12 mois de l'année avec des emplois du temps
horaire journalier sur la période.

Sur chaque feuille, calcul du 1er et dernier jour d'après la formule que je
recherche et dont MichD vient de proposer une solution qui fonctionne.

Je serai intéressé par n'avoir dans la formule que la variable AN et mois
pour calculer le dernier jour. La différence de chaque feuille n'est que le
mois Je n'ai pas une date quelconque stockée en A1 (par exemple)
Il est possible que je saisisse sur chaque feuille une date quelconque du
mois en A1 et de la cacher par exemple mais tant qu'à faire si c'est
faisable.


Merci à vous.




"MichD" a écrit dans le message de groupe de discussion :
keb62m$n79$

Bonjour,

Cette formule retourne la date du premier dimanche après le 20 du mois ou si
le 20 est un dimanche, cela retourne le 20 du mois.

=SI(JOUR(A1-JOUR(A1)+29-JOURSEM(A1-JOUR(A1)))>';A1-JOUR(A1)+29-JOURSEM(A1-JOUR(A1))-7;A1-JOUR(A1)+29-JOURSEM(A1-JOUR(A1)))



MichD
--------------------------------------------------------------
MichD
Le #25182942
Pour n'avoir que 2 variables dans la formule :

An pour l'année
Et
Mmois pour le mois

ça rallonge la formule substantiellement :
Il aurait été plus sage de réserver une cellule pour une date
pour le mois et l'année correspondante!

=SI(JOUR(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+
29-JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))))>';
DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+29-
JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1)))-7;
DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+29-
JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))))



MichD
--------------------------------------------------------------
SLerr
Le #25183092
Oui merci.

Effectivement la formule se rallonge.
Je pensais sur chacune des feuilles rentrer manuellement le n° du mois dans
la formule mais là il faut le saisir 12 fois.
Et puis on ne peut pas mettre le mois en facteur cela serait plus facile :)


"MichD" a écrit dans le message de groupe de discussion :
kebb59$71c$

Pour n'avoir que 2 variables dans la formule :

An pour l'année
Et
Mmois pour le mois

ça rallonge la formule substantiellement :
Il aurait été plus sage de réserver une cellule pour une date
pour le mois et l'année correspondante!

=SI(JOUR(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+
29-JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))))>';
DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+29-
JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1)))-7;
DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+29-
JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))))



MichD
--------------------------------------------------------------
MichD
Le #25183142
=SI(JOUR(A1-JOUR(A1)+29-JOURSEM(A1-JOUR(A1)))>';
A1-JOUR(A1)+29-JOURSEM(A1-JOUR(A1))-7;A1-JOUR(A1)+
29-JOURSEM(A1-JOUR(A1)))

Tu peux utiliser la première formule publiée
et tu peux utiliser un "NOM" (insertion / nom / définir)
pour saisir une date quelconque dans ce mois.

Exemple :
Nom = MaDate
Choisir le nom de la feuille : Feuil1
Fait référence à : ="01/01/2013" 'Taper les guillemets

Et dans la formule, tu remplaces la référence à A1
par l'expression "MaDate" ou le nom que tu auras
retenu.

Le même "NOM" peut-être utilisé pour chacune des feuilles,
mais comme mentionné plus haut, tu dois le définir au
niveau de la feuille et non du classeur.

Ça rend la formule plus lisible...

MichD
--------------------------------------------------------------
SLerr
Le #25183422
Merci MichD. J'ai adapté pour plus de lisibilité.

"MichD" a écrit dans le message de groupe de discussion :
kebe9v$gkr$

=SI(JOUR(A1-JOUR(A1)+29-JOURSEM(A1-JOUR(A1)))>';
A1-JOUR(A1)+29-JOURSEM(A1-JOUR(A1))-7;A1-JOUR(A1)+
29-JOURSEM(A1-JOUR(A1)))

Tu peux utiliser la première formule publiée
et tu peux utiliser un "NOM" (insertion / nom / définir)
pour saisir une date quelconque dans ce mois.

Exemple :
Nom = MaDate
Choisir le nom de la feuille : Feuil1
Fait référence à : ="01/01/2013" 'Taper les guillemets

Et dans la formule, tu remplaces la référence à A1
par l'expression "MaDate" ou le nom que tu auras
retenu.

Le même "NOM" peut-être utilisé pour chacune des feuilles,
mais comme mentionné plus haut, tu dois le définir au
niveau de la feuille et non du classeur.

Ça rend la formule plus lisible...

MichD
--------------------------------------------------------------
db
Le #25183642
Le 30/01/2013 15:36, MichD a écrit :
Pour n'avoir que 2 variables dans la formule :

An pour l'année
Et
Mmois pour le mois

ça rallonge la formule substantiellement :
Il aurait été plus sage de réserver une cellule pour une date
pour le mois et l'année correspondante!

=SI(JOUR(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+
29-JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))))>';
DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+29-
JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1)))-7;
DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+29-
JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))))




On peut aussi simplifier la formule :

ÚTE(An;Mmois;20+MOD(8-JOURSEM(DATE(An;Mmois;20));7))

db
SLerr
Le #25184552
Merci db.

Formule plus courte, pensée différemment et qui fonctionne. J'ai vérifié sur
les 12 mois de 2013.


"db" a écrit dans le message de groupe de discussion :
51096085$0$2285$

Le 30/01/2013 15:36, MichD a écrit :
Pour n'avoir que 2 variables dans la formule :

An pour l'année
Et
Mmois pour le mois

ça rallonge la formule substantiellement :
Il aurait été plus sage de réserver une cellule pour une date
pour le mois et l'année correspondante!

=SI(JOUR(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+
29-JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))))>';
DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+29-
JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1)))-7;
DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))+29-
JOURSEM(DATE(An;Mmois;1)-JOUR(DATE(An;Mmois;1))))




On peut aussi simplifier la formule :

ÚTE(An;Mmois;20+MOD(8-JOURSEM(DATE(An;Mmois;20));7))

db
Publicité
Poster une réponse
Anonyme