[Résolue] Rotation hebdo de 5 équipes vs n° de semaine.

Victor21

XLDnaute Barbatruc
Bonjour à tous :)

Tite question - une fois n'est pas coutume ;)

5 équipes : A, B, C, D, E, rotation des équipes chaque semaine.
Point de départ semaine 1 de 2012 avec l'équipe C (colonne R du fichier joint).

La ligne 3 calcule le n° de semaine en extrayant la date en ligne 2 :
=ENT(MOD(ENT((DATE(STXT(R$2;1;4);STXT(R$2;5;2);STXT(R$2;7;2))-2)/7)+3/5;52+5/28))+1

La ligne 4 détermine l'équipe en place. Pour les colonne R à AK, pas de pb :
=SI(S2="";"";CHOISIR(EQUIV(MOD(S3;5);{1;2;3;4;0};0);"C";"D";"E";"A";"B"))

Mais je suis obligé de tricher entre les colonnes C à Q :
=SI(Q2="";"";CHOISIR(EQUIV(MOD(Q3+3;5);{1;2;3;4;0};0);"C";"D";"E";"A";"B"))
et à partir de la colonne AL :
=SI(AL2="";"";CHOISIR(EQUIV(MOD(AL3+2;5);{1;2;3;4;0};0);"C";"D";"E";"A";"B"))
Quelle formule unique puis-je utiliser en ligne 4, en évitant un test genre
=si(stxt(c2;1;4)= ?

Merci d'avance pour vos suggestions :)
 

Pièces jointes

  • EquipeSemaine.xls
    43.5 KB · Affichages: 96
  • EquipeSemaine.xls
    43.5 KB · Affichages: 95
  • EquipeSemaine.xls
    43.5 KB · Affichages: 99
Dernière édition:

Grand Chaman Excel

XLDnaute Impliqué
Re : Rotation hebdo de 5 équipes vs n° de semaine.

Bonjour Victor21,

Une idée comme ça. Je n'ai pas testé du tout...
Pourquoi ne pas calculer les semaine à partir d'un année antérieure, disons 2010.
Donc en 2010, tu as les semaines 1 à 52.
En 2011 tu as les semaines 53 à 104,
En 2012 tu as les semaines 105 à ....

Le tout dans une ligne cachée. Et tu te bases sur cette ligne pour ta formule.
:confused:
A+

Edit : à bien y penser ça va sûrement donner le même résultat...

Edit 2: Finalement, je crois que le principe fonctionne en partant avec la semaine 1 2012 = semaine 0. Les semaines avant sont -1, -2, -3, etc... et après c'est 1, 2, 3, etc... Voir exemple dans le fichier joint.
Reste juste à trouver la formule pour calculer le numéro de semaine relatif à la semaine 0. ;)
 

Pièces jointes

  • EquipeSemaine.xls
    58.5 KB · Affichages: 55
  • EquipeSemaine.xls
    58.5 KB · Affichages: 54
  • EquipeSemaine.xls
    58.5 KB · Affichages: 48
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : Rotation hebdo de 5 équipes vs n° de semaine.

Bonsoir, GCE

Merci pour ton intervention.
J'étais parti sur le même principe d'une date "origine", et je pense qu'en passant par quotient, mod et datedif, je devrais m'en sortir sans passer par le calcul du n° "officiel" de semaine.
Mais il se fait tard, et je reviendrai faire part de mes cogitations si elles aboutissent.

Belle nuit à toutes et à tous :)
 

Modeste geedee

XLDnaute Barbatruc
Re : Rotation hebdo de 5 équipes vs n° de semaine.

Bonsour® Patrick

que c'est il passé en semaine 3 de 2012 pour l'equipe E ?
de même en semaine 8 ??

si la semaine est non travaillée, l'équipe prévue passe-t-elle son tour ???

Au cas ou toutes les semaines(info obligatoirement présente) seraient travaillées c-a-d une équipe affectée.
alors je te propose :
en B4 tu mets la lettre que tu souhaites
la formule en C4 mettra la lettre suivante
Code:
=SI(C$3=B$3;B$4;SI((CODE(B$4)+1)=70;"A";CAR(CODE(B$4)+1)))

@+
 

Victor21

XLDnaute Barbatruc
Re : Rotation hebdo de 5 équipes vs n° de semaine.

Bonjour, Modeste.

Merci de t'intéresser à ce cas :)
Il s'agit d'un relevé des interventions (pompiers), il n'y a pas obligatoirement d'intervention chaque semaine, mais il peut y en avoir plusieurs la même semaine, voire le même jour... La rotation des équipes, elle, est constante, boulot ou pas boulot.
 

Victor21

XLDnaute Barbatruc
Re : Rotation hebdo de 5 équipes vs n° de semaine.

Bonjour à tous, GCE, Modeste :)

Je m'en sors finalement avec en C3 :
=SI(C$2="";"";CHOISIR(EQUIV(MOD(quotient(DATE(STXT('2012'!C$2;1;4);STXT('2012'!C$2;5;2);STXT('2012'!C$2;7;2))-JOURSEM(DATE(STXT('2012'!C$2;1;4);STXT('2012'!C$2;5;2);STXT('2012'!C$2;7;2));3)-Origine;7);5);{0;1;2;3;4};0);"C";"D";"E";"A";"B"))
Origine est un nom défini : ="2/1/2012"

Ce qui donne avec un nom défini Dat : =DATE(STXT('2012'!C$2;1;4);STXT('2012'!C$2;5;2);STXT('2012'!C$2;7;2))
=SI(C$2="";"";CHOISIR(EQUIV(MOD(quotient(Dat-JOURSEM(Dat;3)-Origine;7);5);{0;1;2;3;4};0);"C";"D";"E";"A";"B"))

Merci. Je note cette question comme résolue :)
 

CISCO

XLDnaute Barbatruc
Re : [Résolue] Rotation hebdo de 5 équipes vs n° de semaine.

Bonjour

J'arrive un petit peu trop tard, mais bon, puisque c'est fait. Cf une autre possibilité en pièce jointe.

@ plus
 

Pièces jointes

  • EquipeSemainebis.xls
    46 KB · Affichages: 73
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : [Résolue] Rotation hebdo de 5 équipes vs n° de semaine.

REbonjour

Et la même, sans ligne intermédiaire, mais toujours avec une formule matricielle.

@ plus
 

Pièces jointes

  • EquipeSemaineter.xls
    47.5 KB · Affichages: 87

Victor21

XLDnaute Barbatruc
Re : [Résolue] Rotation hebdo de 5 équipes vs n° de semaine.

Bonjour, CISCO :)

Sur les dates testées, les résultats renvoyés sont identiques aux miens
L'évaluation de la formule matricielle (je cherche à comprendre ta formule :) ) me fait planter Excel 2003.

Merci en tous cas pour ta proposition, et au plaisir de te lire ;)
 

CISCO

XLDnaute Barbatruc
Re : [Résolue] Rotation hebdo de 5 équipes vs n° de semaine.

Bonsoir

En fait, ma formule ressemble beaucoup à la tienne, mais elle utilise, non pas les valeurs de semaine de la ligne 3, mais celles-ci plus un certain nombre A de fois 52. Pour trouver ce nombre A, on aurait pu faire avec un NB.SI(début de la ligne 3;52), mais alors, il fallait trouver une astuce pour ne compter que les derniers 52 rencontrés (par exemple 52 52 52 1 10 10 51 52 52 1 ne doit compter que pour deux 52, ceux juste avant les 1), et on peut imaginer certains changements d'années sans 52, la dernière semaine utile de l'année ayant le n° 51 par exemple.

Donc, il faut faire autrement. On remarque qu'on doit ajouter 52 à chaque fois que le n° de semaine sur la nouvelle colonne est plus petit que le n° précédent.
Le principe, c'est donc de compter sur la ligne 3 le nombre de fois A où l'on passe d'un n° de semaine x à un autre y plus petit.

Finalement, le calcul est fait non pas avec les valeurs de la ligne 3 mais avec les valeurs de la ligne 3 + A*52.

Il existe bien sûr des variantes telles que, en D5 :
Code:
=SI(D3="";"";CHOISIR(MOD(D3+SOMME((SI(D3:$D3="";0;D3:$D3<C3:$C3))*52)-1;5)+1;"A";"B";"C";"D";"E"))
toujours en matriciel

Pour ce qui est de ton pb avec excel 2003, c'est étonnant, puisque le fichier est enregistré sous 2003 (à partir d'une version 2007).

@ plus

P.S : Positionnes toi en R5 pour mieux comprendre la formule.
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : [Résolue] Rotation hebdo de 5 équipes vs n° de semaine.

Bonjour le fil,
je n'ai pas tout suivi (et donc peut-être pas compris), mais à tester en C4 et à tirer vers la droite (validation classique) :
Code:
=SI(C2<>"";CHOISIR(EQUIV(MOD(ENT((DATE(STXT(C$2;1;4);STXT(C$2;5;2);STXT(C$2;7;2))-2)/7);5);{4;0;1;2;3};0);"C";"D";"E";"A";"B");"")
A+
 

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35