Semaine indus

S

Synchter

Guest
Bonjour,

j'ai un petit soucis avec les mois industriels. En effet, les mois indus contiennent un nombre entier de semaine. Lorsqu'une semaine est à cheval sur deux mois, on regarde dans quel mois se trouve le mercredi et on bascule toute la semaine dans ce mois (par exemple la semaine 36 du 30 aout au 5 septembre est la première semaine de septembre "indus").

Quelqu'un aurait-il une formule qui va bien et qui détermine à quel mois appartient une date au hasard ? ça doit fonctionner pour n'importe quelle date.

Merci.
 
M

Monique

Guest
Bonjour,

A essayer (date tapée en C1) :
=MOIS(C1-MOD(C1+3;7)+(JOURSEM(C1;2)<3)*7)

Les étapes pour y arriver :

mercredi précédant le jour tapé en C1 ou jour tapé en C1 si c'est un mercredi :
=C1-MOD(C1+3;7)

1er mercredi suivant la date tapée en C1 :
=C1-MOD(C1+3;7)+7

mercredi appartenant à la même semaine que C1 :
=C1-MOD(C1+3;7)+(JOURSEM(C1;2)<3)*7
(semaine démarrant le lundi)

Le mois de ce mercredi :
=MOIS(C1-MOD(C1+3;7)+(JOURSEM(C1;2)<3)*7)
 
A

andré

Guest
Salut à vous,

Lorsque j'avais lu la question, je n'avais pas le temps d'y répondre !
Mon idée était de faire quelque chose du genre : =SI(FIN.MOIS(C1;1)-C1<3;NO.SEMAINE(C1);NO.SEMAINE(C1)+1).
Comme je n'ai pas vérifié, cela doit certaienement être faux, mais l'idée pourrait être exploitée.

Mais puisque Monique a apporté tout un choix de formules, peut-être que cela ne vaut plus la peine.

Ândré.
 
S

Synchter

Guest
Alors, je m'étais mal exprimé. En plus de savoir si la semaine à cheval est dans un mois ou dans l'autre, il faut aussi savoir si elle est dans la 4ème ou dans la 5ème semaine du mois d'avant. Pareil pour le mois d'après.

J'ai réfléchi toute la nuit et j'ai trouvé LA formule qui va bien. Je la donne, ça peut en aider d'autre. Donc en fait, à partir d'une date, on sait dans quelle semaine indus elle se trouve :

la date se trouve en C3:
=SI(ET(NO.SEMAINE(FIN.MOIS(C3;0);2)=NO.SEMAINE(C3;2);JOURSEM(FIN.MOIS(C3;0);2)<3);1;SI((C3-SI(JOURSEM(DATEVAL("01/"&MOIS(C3)&"/"&ANNEE(C3));2)<=3;DATEVAL("01/"&MOIS(C3)&"/"&ANNEE(C3))-JOURSEM(DATEVAL("01/"&MOIS(C3)&"/"&ANNEE(C3));2)+1;DATEVAL("01/"&MOIS(C3)&"/"&ANNEE(C3))+(8-JOURSEM(DATEVAL("01/"&MOIS(C3)&"/"&ANNEE(C3));2))))>0;ENT((C3-SI(JOURSEM(DATEVAL("01/"&MOIS(C3)&"/"&ANNEE(C3));2)<=3;DATEVAL("01/"&MOIS(C3)&"/"&ANNEE(C3))-JOURSEM(DATEVAL("01/"&MOIS(C3)&"/"&ANNEE(C3));2)+1;DATEVAL("01/"&MOIS(C3)&"/"&ANNEE(C3))+(8-JOURSEM(DATEVAL("01/"&MOIS(C3)&"/"&ANNEE(C3));2))))/7)+1;ENT((C3-SI(JOURSEM(FIN.MOIS(C3;-2)+1;2)>=3;FIN.MOIS(C3;-2)+1+(8-JOURSEM(FIN.MOIS(C3;-2)+1;2));FIN.MOIS(C3;-2)+1-JOURSEM(FIN.MOIS(C3;-2)+1;2)-1))/7)+1))
 

Discussions similaires

Statistiques des forums

Discussions
314 211
Messages
2 107 325
Membres
109 803
dernier inscrit
Nicodu12