OVH Cloud OVH Cloud

semaines paires

20 réponses
Avatar
YANN24
Bonjour,
je galère un peu avec les semaines paires.
Dans mon tableau, j'ai les jours en colonnes A, les dates en B, mes heures
de travail du matin en C, mes heures de l'aprèm en D, et mes n° de semaine en
R.
Dans mes colonnes C et D, j'ai déjà une formule de ce type :
=SI(OU(JOURSEM($A11)=1;JOURSEM($A11)=7);0;SI($B11<Info!$C$35; _
SI(JOURSEM($A11)=6;Info!B$32;Info!B$31); _
SI(JOURSEM($A11)=6;Info!B$37;Info!B$36))).
Cette formule me permet de remplir tel ou tel chiffre, en fonction de la
date (postérieure à une date d ou non) et du jour (rien pour samedi et
dimanche).

Le truc, c'est que je voudrais que ma formule dans la colonne C ne se fasse
que les semaines paires, et dans la colonne D que les semaines impaires. (si
ça peut être plus simple, sur ma feuille info, je donne le renseignement
paire oou impaire pour les semaines de l'après midi).
J'ai pour l'instant trouvé cette formule, mais ça me met erreur ("#NOM?").

=SI(MOD(NO.SEMAINE($A10;2);2)=0; _
SI(OU(JOURSEM($A10)=1;JOURSEM($A10)=7);0; _
SI($B10<Info!$C$35;SI(JOURSEM($A10)=6;Info!B$32;Info!B$31); _
SI(JOURSEM($A10)=6;Info!B$37;Info!B$36))))

Je ne vois pas pourquoi? Merci de votre aide.
(Désolé pour la longueur de l'explication.
YANN

10 réponses

1 2
Avatar
YANN24
Re,
c toujours sympa de te voir sur le forum.

Je me demande s'il n'y a pas un conflit des normes de date.
Essaies peut-être
SI(MOD(NO.SEMAINE($A10;2);2)=0;SI(JOURSEM($A10;2)>5);0; ...etc


Et pourquoi ne pas mettre (formatage 1)? (je sais pas si c'ets le 2 là qu'il
faut changer)
SI(MOD(NO.SEMAINE($A10;2);1)=0;SI(JOURSEM($A10;2)>5);0; ...etc

SI($B10<Info!$C$35;SI(JOURSEM($A10)=6;Info!B$32;Info!B$31); _
SI(JOURSEM($A10)=6;Info!B$37;Info!B$36))))


Tu as mis 2 fois en critère SI(JOURSEM($A10)=6;
une 1ère fois, on a si vrai Info!B$32;Info!B$31
puis si faux SI(JOURSEM($A10)=6
Je pense que c'est une erreur de frappe

Pour compréhension

Info!$C$35; date (car avant le 30 mars, certains horaires, et après, d'autres)
Info!B$31; horaires du Lundi au Jeudi, avant 30 mars (7,5h)
Info!B$32; horaires du Vendredi, avant 30 mars (5h)
Info!B$36; horaires du Lundi au Jeudi, après 30 mars (8h)
Info!B$37 horaires du Vendredi, après 30 mars (3h)

Donc, Si (ma date est avant le 30 mars, alors si (mon jour de semaine est
vendredi, alors 5h, sinon, 7,5h); sinon si( mon jour est vendredi ; alors 3 h
; sinon 8h)).

Bon, j'espère que c'est compréhensible.
Je vais essayer ta version.
Merci.
YANN


Avatar
YANN24
re,
ben en fait, ta formule telle quelle, Excel me met un message d'erreur.
"Votre formule contient une erreur". et il surligne 0.6

Donc je suppose que l'erreur est dans le coin, C'est tout.
J'utilise XP, c'et peut être ça?
YANN


Non, c'est bien 0.6 à différencier d'une séparation avec virgule.

Faut faire attention aux virgules dans les formules...

"YANN24" a écrit dans le message de
news:
re,
merci. Mais le 0.6 correspond à 0,6 ??mais ça ne marche pas.
Merci si tu as la bonne modif.
YANN

"Thierry .> Voici une formule qui teste si le numéro de semaine divisé est
divisible par
deux :
=SI(MOD(ENT(MOD(ENT((A1-2)/7)+0.6;52+5/28))+1;2)= 1;"Toto";"Tata")

A1 correspond à la date
Toto au calcul si le test est vrai
Tata au calcul si le test est faux

"YANN24" a écrit dans le message de
news:
Bonjour,
je galère un peu avec les semaines paires.
Dans mon tableau, j'ai les jours en colonnes A, les dates en B, mes
heures



de travail du matin en C, mes heures de l'aprèm en D, et mes n° de
semaine



en
R.
Dans mes colonnes C et D, j'ai déjà une formule de ce type :
=SI(OU(JOURSEM($A11)=1;JOURSEM($A11)=7);0;SI($B11<Info!$C$35; _
SI(JOURSEM($A11)=6;Info!B$32;Info!B$31); _
SI(JOURSEM($A11)=6;Info!B$37;Info!B$36))).
Cette formule me permet de remplir tel ou tel chiffre, en fonction de
la



date (postérieure à une date d ou non) et du jour (rien pour samedi et
dimanche).

Le truc, c'est que je voudrais que ma formule dans la colonne C ne se
fasse

que les semaines paires, et dans la colonne D que les semaines
impaires.



(si
ça peut être plus simple, sur ma feuille info, je donne le
renseignement



paire oou impaire pour les semaines de l'après midi).
J'ai pour l'instant trouvé cette formule, mais ça me met erreur
("#NOM?").




=SI(MOD(NO.SEMAINE($A10;2);2)=0; _
SI(OU(JOURSEM($A10)=1;JOURSEM($A10)=7);0; _
SI($B10<Info!$C$35;SI(JOURSEM($A10)=6;Info!B$32;Info!B$31); _
SI(JOURSEM($A10)=6;Info!B$37;Info!B$36))))

Je ne vois pas pourquoi? Merci de votre aide.
(Désolé pour la longueur de l'explication.
YANN














Avatar
Evita
Re,
c toujours sympa de te voir sur le forum.
Egalement,


Et pourquoi ne pas mettre (formatage 1)? (je sais pas si c'ets le 2 là
qu'il
faut changer)
Tout à fait, mais quoi qu'il en soit je crois qu'il faut uniformiser la

méthode, dans un sens ou dans l'autre
C'est que je ferais pour ma part (uniformiser)

Bon, j'espère que c'est compréhensible.
Oui,

Je vais essayer la proposition que je t'ai faite (et vérifier si je n'ai pas
raconter trop de bétises)

De plus, je crois qu'on travaille sur le même type d'exercices, alors cela
me fait avancer aussi !

Sur ce, je pars au travail
alors bonne continuation, je lirais les posts demain


--
Merci, au plaisir :-))
Evita@

Avatar
GD
Bonsour®,
comme tu ne précises pas le séparateur décimal que tu utilises dans EXCEL
tu remplaces simplement ;o)))
0.6 par (6/10)
il est par ailleurs inutile d'ajouter 1 au n° de semaine ISO ????
la formule avec separateur décimal "," :
=SI(MOD(ENT(MOD(ENT((A1-2)/7)+0,6;52+5/28));2)=0;"Sem paire";"Sem impaire")
sans connaitre ton séparateur :
=SI(MOD(ENT(MOD(ENT((A1-2)/7)+(6/10);52+5/28));2)=0;"Sem paire";"Sem
impaire")

@+

YANN24 wrote:
re,
merci. Mais le 0.6 correspond à 0,6 ??mais ça ne marche pas.
Merci si tu as la bonne modif.
YANN

"Thierry .> Voici une formule qui teste si le numéro de semaine
divisé est divisible par
deux :
=SI(MOD(ENT(MOD(ENT((A1-2)/7)+0.6;52+5/28))+1;2)= 1;"Sem paire";"Sem
impaire")



A1 correspond à la date
Toto au calcul si le test est vrai
Tata au calcul si le test est faux

"YANN24" a écrit dans le message
de news:
Bonjour,
je galère un peu avec les semaines paires.
Dans mon tableau, j'ai les jours en colonnes A, les dates en B, mes
heures de travail du matin en C, mes heures de l'aprèm en D, et mes
n° de semaine en R.
Dans mes colonnes C et D, j'ai déjà une formule de ce type :
=SI(OU(JOURSEM($A11)=1;JOURSEM($A11)=7);0;SI($B11<Info!$C$35; _
SI(JOURSEM($A11)=6;Info!B$32;Info!B$31); _
SI(JOURSEM($A11)=6;Info!B$37;Info!B$36))).
Cette formule me permet de remplir tel ou tel chiffre, en fonction
de la date (postérieure à une date d ou non) et du jour (rien pour
samedi et dimanche).

Le truc, c'est que je voudrais que ma formule dans la colonne C ne
se fasse que les semaines paires, et dans la colonne D que les
semaines impaires. (si ça peut être plus simple, sur ma feuille
info, je donne le renseignement paire oou impaire pour les semaines
de l'après midi).
J'ai pour l'instant trouvé cette formule, mais ça me met erreur
("#NOM?").

=SI(MOD(NO.SEMAINE($A10;2);2)=0; _
SI(OU(JOURSEM($A10)=1;JOURSEM($A10)=7);0; _
SI($B10<Info!$C$35;SI(JOURSEM($A10)=6;Info!B$32;Info!B$31); _
SI(JOURSEM($A10)=6;Info!B$37;Info!B$36))))

Je ne vois pas pourquoi? Merci de votre aide.
(Désolé pour la longueur de l'explication.
YANN






Avatar
Evita
Bonjour Yann,

J'ai essayé ta formule avec les noms:
Lun_Jeudi_ap_30_03=8
Lun_Jeudi_avt_30_03=7,5
Vend_ap_30_03=3
Vend_avt_30_03=5

et 30/03/05 en $A$1
J'ai groupé les colonnes A et B en 1 seule, format "jjjj jj mm aa"
pour le côté pratique de l'essai

SI(MOD(NO.SEMAINE($A7;2);2)=0;SI(OU(JOURSEM($A7)=1;JOURSEM($A7)=7);0;SI($A7<$A$1;SI(JOURSEM($A7)=6;Vend_avt_30_03;Lun_Jeudi_avt_30_03);SI(JOURSEM($A7)=6;Vend_ap_30_03;Lun_Jeudi_ap_30_03))))
renvoie 0 pour les sam, dim pairs mais faux pour les impaires car la première condition
vérifiée est la parité de la semaine.

SI(MOD(NO.SEMAINE($A7);2)=0;.....
renvoie 0 pour les sam pairs , Faux dim pairs et sam impairs, 0 dim impairs.

Si tu mets la condition sam, dim en 1ere condition, et Mod en seconde, tu renvoies
toujours 0 pour sam et dim, qu'ils soient pairs ou impairs.
Cela peut te servir si tu as besoin de mettre en forme ou pour le calcul de ta colonne D
des semaines impaires, sans avoir de "Faux" intempestifs sur les sam et dim.

Voici ce que j'ai trouvé de + "seyant"
=SI(OU(JOURSEM($A7)=1;JOURSEM($A7)=7);0;
SI(MOD(NO.SEMAINE($A7);2)=0;
SI($A7<$A$1;
SI(JOURSEM($A7)=6;Vend_avt_30_03;Lun_Jeudi_avt_30_03);
SI(JOURSEM($A7)=6;Vend_ap_30_03;Lun_Jeudi_ap_30_03))))

La même en méthode "lundi 1er jour de la semaine"
=SI(OU(JOURSEM($A7;2)>5);0;
SI(MOD(NO.SEMAINE($A7;2);2)=0;
SI($A7<$A$1;
SI(JOURSEM($A7;2)=5;Vend_avt_30_03;Lun_Jeudi_avt_30_03);
SI(JOURSEM($A7;2)=5;Vend_ap_30_03;Lun_Jeudi_ap_30_03))))

C'est pas très glorieux côté nb de caractères, 191 pour chacune des 2 formules ci dessus
:-(( .....

PS, que fait-on si ta date est le 30 mars, horaires d'avant ou d'après ???

Bonne continuation et au plaisir,
evit@
Avatar
Evita
Oups,

La même en méthode "lundi 1er jour de la semaine"
=SI(OU(JOURSEM($A7;2)>5);......


Désolée j'avais laissé le OU
=SI(JOURSEM($A7;2)>5;.........

C'est pas très glorieux côté nb de caractères, 191 pour chacune des 2 formules ci dessus
:-(( .....


Je sais pas bien comment j'ai calculé ça !
C'était 191 pour la première, 184 pour la seconde et avec ma petite correction ci-dessus
je passe à 180

evit@

Avatar
YANN24
Merci. j'essaye ça.
A bientot
YANN


Bonsour®,
comme tu ne précises pas le séparateur décimal que tu utilises dans EXCEL
tu remplaces simplement ;o)))
0.6 par (6/10)
il est par ailleurs inutile d'ajouter 1 au n° de semaine ISO ????
la formule avec separateur décimal "," :
=SI(MOD(ENT(MOD(ENT((A1-2)/7)+0,6;52+5/28));2)=0;"Sem paire";"Sem impaire")
sans connaitre ton séparateur :
=SI(MOD(ENT(MOD(ENT((A1-2)/7)+(6/10);52+5/28));2)=0;"Sem paire";"Sem
impaire")

@+

YANN24 wrote:
re,
merci. Mais le 0.6 correspond à 0,6 ??mais ça ne marche pas.
Merci si tu as la bonne modif.
YANN

"Thierry .> Voici une formule qui teste si le numéro de semaine
divisé est divisible par
deux :
=SI(MOD(ENT(MOD(ENT((A1-2)/7)+0.6;52+5/28))+1;2)= 1;"Sem paire";"Sem
impaire")



A1 correspond à la date
Toto au calcul si le test est vrai
Tata au calcul si le test est faux

"YANN24" a écrit dans le message
de news:
Bonjour,
je galère un peu avec les semaines paires.
Dans mon tableau, j'ai les jours en colonnes A, les dates en B, mes
heures de travail du matin en C, mes heures de l'aprèm en D, et mes
n° de semaine en R.
Dans mes colonnes C et D, j'ai déjà une formule de ce type :
=SI(OU(JOURSEM($A11)=1;JOURSEM($A11)=7);0;SI($B11<Info!$C$35; _
SI(JOURSEM($A11)=6;Info!B$32;Info!B$31); _
SI(JOURSEM($A11)=6;Info!B$37;Info!B$36))).
Cette formule me permet de remplir tel ou tel chiffre, en fonction
de la date (postérieure à une date d ou non) et du jour (rien pour
samedi et dimanche).

Le truc, c'est que je voudrais que ma formule dans la colonne C ne
se fasse que les semaines paires, et dans la colonne D que les
semaines impaires. (si ça peut être plus simple, sur ma feuille
info, je donne le renseignement paire oou impaire pour les semaines
de l'après midi).
J'ai pour l'instant trouvé cette formule, mais ça me met erreur
("#NOM?").

=SI(MOD(NO.SEMAINE($A10;2);2)=0; _
SI(OU(JOURSEM($A10)=1;JOURSEM($A10)=7);0; _
SI($B10<Info!$C$35;SI(JOURSEM($A10)=6;Info!B$32;Info!B$31); _
SI(JOURSEM($A10)=6;Info!B$37;Info!B$36))))

Je ne vois pas pourquoi? Merci de votre aide.
(Désolé pour la longueur de l'explication.
YANN











Avatar
YANN24
Merci.
Je viens de lire tes posts (et oui, je ne travaille pas sur PC le wiken, ça
me laisse le temps de me prélasser un peu au soleil !!).
Je vais bien relire tout ça, et je te tiens au courant ce soir ou demain (en
fonction de mon avancement, et de ma motivation surtout).
Merci et à bientot.
Yann


Oups,

La même en méthode "lundi 1er jour de la semaine"
=SI(OU(JOURSEM($A7;2)>5);......


Désolée j'avais laissé le OU
=SI(JOURSEM($A7;2)>5;.........

C'est pas très glorieux côté nb de caractères, 191 pour chacune des 2 formules ci dessus
:-(( .....


Je sais pas bien comment j'ai calculé ça !
C'était 191 pour la première, 184 pour la seconde et avec ma petite correction ci-dessus
je passe à 180

evit@






Avatar
YANN24
Re,
J'ai essayé ta formule.
Donc celà fonctionne bien pour le changement de date. ("formule Lundi 1er
jour de semaine")
Mais par contre, Excel ne s'occuppe pas des semaines paires ou impaires.
Si ça peut aider, j'ai inscrit dans une celulle G1, "paire", si le travail
de l'après midi se fait les semaines paires.
Donc partons sur l'exemple que les semaines impaires, je travaille du matin,
et les semaines paires, je travaille de l'aprèm.
Je te récris ma formule actuelle, dans ma colonne heures du matin :
=SI(OU(JOURSEM($A10;2)>5);0;
SI(MOD(NO.SEMAINE($A10;2);2)=0;
SI($B10<Info!$C$35;SI(JOURSEM($A10;2)=5;Info!$B$32;Info!$B$31);
SI(JOURSEM($A10;2)=5;Info!$B$37;Info!$B$36))))

En colonne R, j'ai le n° de semaine qui est indiqué.
il faudrait donc que si le numéro de semaine (R7) est paire, et que ma
celulle G1 est "paire", j'ai 0, sinon, j'ai ma formule.

Est ce faisable avec un truc du style =SI(($A7=2)*(G1="paire");...)

Je te remercie par avance.
Yann
Avatar
Evita
Bonjour Yann,

J'ai lu tes 2 posts d'aujourd'hui et je galère un peu moi aussi dans tes références.

... G1, "paire", si le travail de l'après midi se fait les semaines paires.
Donc partons sur l'exemple ...semaines impaires,... matin,
et les semaines paires, ...l'aprèm.
...., dans ma colonne heures du matin :
=SI(OU(JOURSEM($A10;2)>5);0;
SI(MOD(NO.SEMAINE($A10;2);2)=0;......
Je "patauge":

tu me dis matin -->sem. Impaire et la formule utilisée applique les différents horaires SI
la sem est paire [MOD(....)=0]

Est ce faisable avec un truc du style =SI(($A7=2)*(G1="paire");...)
J'en sais rien du tout pour ma part. Trop débutante pour çà, désolée.

J'imagine aussi qu'il doit y avoir une solution dans ce sens (matricielle, sommeprod ou
autre) mais là il te faudrait l'aide des spécialistes du forum.

En attendant, j'ai essayé de composer qq chose

En C, Travail le matin (donc semaine impaire si $G$1="paire")
=SI(JOURSEM($A10;2)>5;0;
SI(ET(MOD(NO.SEMAINE($A10;2);2)=1;$G$1="paire");
SI($A10<Date_butoir_30_Mars;
SI(JOURSEM($A10;2)=5;Vend_avt_30_03;Lun_Jeudi_avt_30_03);
SI(JOURSEM($A10;2)=5;Vend_ap_30_03;Lun_Jeudi_ap_30_03));
0))

En D, Travail de l'après midi (donc semaine paire si $G$1="paire")
=SI(JOURSEM($A10;2)>5;0;SI(ET(MOD(NO.SEMAINE($A10;2);2)=0;$G$1="paire");.....

En E, chgt de roulement, $G$1="impaire" donc si j'ai bien suivi, travail du matin sur
semaine paire
SI(ET(MOD(NO.SEMAINE($A11;2);2)=0;$G$1="impaire")

En F, $G$1="impaire", travail de l'après midi sur semaine impaire
SI(ET(MOD(NO.SEMAINE($A11;2);2)=1;$G$1="impaire");

Va voir du côté de http://cjoint.com/?dwcpklaFdd, j'ai fait un petit tableau récapitulatif

Au fait, que fais t-on pour la date butoir du 30 mars?
on applique les horaires d'avant ($A10<Úte_butoir_30_Mars) ou
d'après($A10<Date_butoir_30_Mars) ??

Voili, voilà pour le moment
j'espère que çà pourra t'avancer un peu.
Je vais qd même chercher une formule pour compiler tout ce charabia

au plaisir :-))
Evita@

1 2