Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Roulement de travail

7 réponses
Avatar
Mesnious
Bonjour,

Tour de roulement pour travail hebdomadaire

J' ai le problème suivant à résoudre et je ne sais comment faire.
Il s' agit d' établir un tour de roulement de travail hebdomadaire
généré automatiquement en fonction du nr de la semaine en cours.

La règle est la suivante:
-la liste des postes de travail ne bouge pas
-chaque semaine chaque agent descend d' un poste
-un agent arrivé en bas de liste remonte au poste 1
-il y a toujours autant de poste que d' agents

++++++++++++++++++++++++++++

lundi 23 juin 2003
donc semaine = nr 26
si semaine = nr 26
roulement =>

poste 1 agent 1
poste 2 agent 2
poste 3 agent 3
poste 4 agent 4
poste 5 agent 5
poste 6 agent 6
poste 7 agent 7

++++++++++++++++++++++++++++

(semaine suivante)
lundi 30 juin 2003
donc semaine = nr 27
si semaine = nr 27
roulement =>

poste 1 agent 7
poste 2 agent 1
poste 3 agent 2
poste 4 agent 3
poste 5 agent 4
poste 6 agent 5
poste 7 agent 6

++++++++++++++++++++++++++++

Que faire si on ajoute ou retire 1 poste donc 1 agent ?

Excel peut-il faire cela ?
(Excel 97 + win 98)

Merci à celui ou celle qui pourra m' aider.


Paul

nospam&forpat@wanadoo.fr

7 réponses

Avatar
ben7249
Bonjour

tu peux utiliser la fonction modulo du nombre de poste :

en A1 : inscris le nombre de poste (7 dans ton exemple)

en B1 : inscris la semaine recherchée (26 pour le début)

de A2 à A8 : inscris les intitulés de poste

en B2 : note la formule suivante =1+MOD($B$1-26;$A$1)
en B3 : note celle ci =SI(B2=$A$1;1;B2+1)
et fait "recopier en incrémentant les formules" jusqu'en B8

voila c'est fini


si tu ajoutes un poste :
change le nombre de poste en A1
inscrire l'intitulé à la fin en A9
et recopie en incrémentant la formule de B8 en B9
=> attention l'ordre est boulversé car ce petit tableau repart de la
semaine 26 avec le poste 1 tenu par l'agent 1 comme origine du calcul
=> attention aux conflits en cas d'utilisation sans adaptation...

pour supprimer :
NE PAS SUPPRIMER LA PREMIERE LIGNE QUI FAIT LE CALCUL......
même reamrque qu'avant


bon courage
Benoit
Avatar
AV
Une soluce avec cet exemple d'organisation en "Feuil1" (à adapter à ton cas) :
A1 : une date que tu saisis ou =AUJOURDHUI()
B1 : =NO.SEMAINE(A1;2) ou toute autre formule de calcul du N° de semaine
C1:Cx : la liste des postes
D1:Dx : les noms des employés
Dans le module de "Feuil1" (clic droit sur l'onglet=> visualiser le code=>
copier/coller le code suivant)

Public varSem%

Private Sub Worksheet_Calculate()
If [B1].Value <> varSem Then
Application.EnableEvents = False
[D1].End(4).Cut
[D1].Insert Shift:=xlDown
Application.EnableEvents = True
End If
varSem = [B1].Value
End Sub

Ensuite, pour initialiser la variable "varSem" tu exécutes une seule fois la
macro suivante :
Sub InitialiseVarSem()
varSem = Sheets("Feuil1").[B1].Value
End Sub

Voilà, tout ajout/suppression de poste/employé sera pris en compte
Le changement d'affectation se fera automatiquement lors du changement (auto) du
N° de semaine

AV

"Mesnious"
<%6E%6F%73%70%61%6D%2D%66%6F%72%70%61%74%40%77%61%6E%61%64%6F%6F%2E%66%72> a
écrit dans le message news: #
Bonjour,

Tour de roulement pour travail hebdomadaire

J' ai le problème suivant à résoudre et je ne sais comment faire.
Il s' agit d' établir un tour de roulement de travail hebdomadaire
généré automatiquement en fonction du nr de la semaine en cours.

La règle est la suivante:
-la liste des postes de travail ne bouge pas
-chaque semaine chaque agent descend d' un poste
-un agent arrivé en bas de liste remonte au poste 1
-il y a toujours autant de poste que d' agents

++++++++++++++++++++++++++++

lundi 23 juin 2003
donc semaine = nr 26
si semaine = nr 26
roulement =>

poste 1 agent 1
poste 2 agent 2
poste 3 agent 3
poste 4 agent 4
poste 5 agent 5
poste 6 agent 6
poste 7 agent 7

++++++++++++++++++++++++++++

(semaine suivante)
lundi 30 juin 2003
donc semaine = nr 27
si semaine = nr 27
roulement =>

poste 1 agent 7
poste 2 agent 1
poste 3 agent 2
poste 4 agent 3
poste 5 agent 4
poste 6 agent 5
poste 7 agent 6

++++++++++++++++++++++++++++

Que faire si on ajoute ou retire 1 poste donc 1 agent ?

Excel peut-il faire cela ?
(Excel 97 + win 98)

Merci à celui ou celle qui pourra m' aider.


Paul

nospam&





Avatar
AV
Boff...bofff ....
Pas terrible pour l'initialisaton/conservation de la variable :
On recommence !

Une soluce avec cet exemple d'organisation en "Feuil1" (à adapter à ton cas) :
A1 : une date que tu saisis ou =AUJOURDHUI()
B1 : =NO.SEMAINE(A1;2) ou toute autre formule de calcul du N° de semaine
C1:Cx : la liste des postes
D1:Dx : les noms des employés
Dans le module de "Feuil1" (clic droit sur l'onglet=> visualiser le code=>
copier/coller le code)

Private Sub Worksheet_Calculate()
If [B1].Value <> [varSem] Then
Application.EnableEvents = False
[D1].End(4).Cut
[D1].Insert Shift:=xlDown
ActiveWorkbook.Names.Add Name:="varSem", _
RefersTo:=Sheets("Feuil1").[B1].Value
End If
Application.EnableEvents = True
End Sub

Ensuite, pour initialiser la variable (nom) "varSem" tu exécutes une seule fois
la macro suivante :
Sub Initialise()
ActiveWorkbook.Names.Add Name:="varSem", RefersTo:=Sheets("Feuil1").[B1].Value
End Sub

Voilà, tout ajout/suppression de poste/employé sera pris en compte
Le changement d'affectation se fera automatiquement lors du changement (auto) du
N° de semaine

AV qui débute la semaine laborieusement !
Avatar
Daniel.M
Salut Paul, je t'ai envoyé cela hier mais je ne l'ai jamais vu sur MPFE.

Donc, on recommence!

En supposant:
une cellule nommée NoSem (qui contient le numéro de semaine, 26 pour la sem
du 23 juin)
une cellule nommée NoAgents (qui contient le nombre d'agents/postes, 7 dans
ton cas)

Tu sélectionnes 7 cases verticales (le 7 ici correspond au nombre de postes)
et tu entres la
matricielle suivante (Ctrl-Maj-Entrée) :

="Poste " & LIGNE(INDIRECT("1:"&NoAgents)) & " Agent " & 1+
MOD(4-NoSem+LIGNE(INDIRECT("1:"&NoAgents));NoAgents)

Tu verras qu'en incrémentant ensuite NoSem, les numéros des agents
circulent.

Salutations,

Daniel M.


"Mesnious"
<%6E%6F%73%70%61%6D%2D%66%6F%72%70%61%74%40%77%61%6E%61%64%6F%6F%2E%66%72>
wrote in message news:%
Bonjour,

Tour de roulement pour travail hebdomadaire

J' ai le problème suivant à résoudre et je ne sais comment faire.
Il s' agit d' établir un tour de roulement de travail hebdomadaire
généré automatiquement en fonction du nr de la semaine en cours.

La règle est la suivante:
-la liste des postes de travail ne bouge pas
-chaque semaine chaque agent descend d' un poste
-un agent arrivé en bas de liste remonte au poste 1
-il y a toujours autant de poste que d' agents

++++++++++++++++++++++++++++

lundi 23 juin 2003
donc semaine = nr 26
si semaine = nr 26
roulement =>

poste 1 agent 1
poste 2 agent 2
poste 3 agent 3
poste 4 agent 4
poste 5 agent 5
poste 6 agent 6
poste 7 agent 7

++++++++++++++++++++++++++++

(semaine suivante)
lundi 30 juin 2003
donc semaine = nr 27
si semaine = nr 27
roulement =>

poste 1 agent 7
poste 2 agent 1
poste 3 agent 2
poste 4 agent 3
poste 5 agent 4
poste 6 agent 5
poste 7 agent 6

++++++++++++++++++++++++++++

Que faire si on ajoute ou retire 1 poste donc 1 agent ?

Excel peut-il faire cela ?
(Excel 97 + win 98)

Merci à celui ou celle qui pourra m' aider.


Paul

nospam&





Avatar
Mesnious
Merci AV et Daniel.M,

Je vous remercie de m' avoir répondu aussi rapidement.

Excel peut donc faire ce type de calcul.

Vos deux systèmes marchent bien mais avec des petits défauts:
(à moins je n' aie pas bien assimilé)

1/ ton système AV (macros)

excellent pour changer les noms de postes et d' agents

inconvénient:
si je veux changer la date (ex.: + 15 jours...)
il se produit bien un changement de nom d' agent mais,
comme si la semaine correspondante avait avancé de +1 ...


2/ ton système Daniel.M (formule matricielle)

excellent si je change les dates, agents et postes sont exacts

inconvénient:
-comment changer les noms des agents ? (agent1 = dupont)
-au changement d' année (semaines 52 à semaine 1) le calcul est
faux

Si par hasard je n' ai pas épuisé votre gentillesse à tous les deux
pouvez-vous encore m' aider afin de résoudre ce problème de roulement
utilisé par de nombreux collègues.

A l' heure actuelle on fait cela avec des petites fiches murales mais
on finit toujours par se tromper dans les mises à jour hebdomadaires.

Encore une fois merçi.

Paul
nospam&

réponse: mettre "-" (tiret) pour "&"



"Mesnious"
<%6E%6F%73%70%61%6D%2D%66%6F%72%70%61%74%40%77%61%6E%61%64%6F%6F%2E%66%72> a
écrit dans le message de news:%
Bonjour,

Tour de roulement pour travail hebdomadaire

J' ai le problème suivant à résoudre et je ne sais comment faire.
Il s' agit d' établir un tour de roulement de travail hebdomadaire
généré automatiquement en fonction du nr de la semaine en cours.

La règle est la suivante:
-la liste des postes de travail ne bouge pas
-chaque semaine chaque agent descend d' un poste
-un agent arrivé en bas de liste remonte au poste 1
-il y a toujours autant de poste que d' agents

++++++++++++++++++++++++++++

lundi 23 juin 2003
donc semaine = nr 26
si semaine = nr 26
roulement =>

poste 1 agent 1
poste 2 agent 2
poste 3 agent 3
poste 4 agent 4
poste 5 agent 5
poste 6 agent 6
poste 7 agent 7

++++++++++++++++++++++++++++

(semaine suivante)
lundi 30 juin 2003
donc semaine = nr 27
si semaine = nr 27
roulement =>

poste 1 agent 7
poste 2 agent 1
poste 3 agent 2
poste 4 agent 3
poste 5 agent 4
poste 6 agent 5
poste 7 agent 6

++++++++++++++++++++++++++++

Que faire si on ajoute ou retire 1 poste donc 1 agent ?

Excel peut-il faire cela ?
(Excel 97 + win 98)

Merci à celui ou celle qui pourra m' aider.


Paul

nospam&





Avatar
Daniel.M
"Mesnious"
<%6E%6F%73%70%61%6D%2D%66%6F%72%70%61%74%40%77%61%6E%61%64%6F%6F%2E%66%72>
wrote in message news:%
Merci AV et Daniel.M,

Je vous remercie de m' avoir répondu aussi rapidement.

Excel peut donc faire ce type de calcul.

Vos deux systèmes marchent bien mais avec des petits défauts:
(à moins je n' aie pas bien assimilé)

2/ ton système Daniel.M (formule matricielle)

excellent si je change les dates, agents et postes sont exacts

inconvénient:
-comment changer les noms des agents ? (agent1 = dupont)


Le numéro généré (au lieu d'être concaténé au mot Agent) sert d'index sur
une plage LesAgents (contenant les noms des agents):

="Poste " & LIGNE(INDIRECT("1:"&NoAgents)) & " " & INDEX(LesAgents;
1+MOD(4-NoSem+LIGNE(INDIRECT("1:"&NoAgents));NoAgents))


-au changement d' année (semaines 52 à semaine 1) le calcul est
faux


Et comment sais-tu qu'une année possède 52 semaines? Pourquoi pas 53?

Le chiffre 4 (dans la formule) est un décalage qui s'arrange pour que le
26ième semaine DE L'ANNÉE 2003 génère le chiffre des agents 1,2,3 etc. Mais
cela est complètement arbitraire.

Si tu parles maintenant d'année (qui se succèdent), cela signifie que tu as
besoin d'un point d'ancrage (une date pour laquelle les agents sont
numérotés de 1 à x, en ordre). Mais si tu dois en plus gérer les insertions
et retraits d'agents à certaines dates, les constatations suivantes
s'imposent:

1.AMA, c'est assurément d'une macro dont tu as besoin (qui génère les
agents, semaine par semaine).
2.cela nécessite une analyse des différents cas (ajout d'un agent à une date
X, retrait d'un agent à une date Y, passation d'une année à l'autre)

Salutations,

Daniel M.

Avatar
AV
1/ ton système AV (macros)
excellent pour changer les noms de postes et d' agents
inconvénient:si je veux changer la date (ex.: + 15 jours...)
il se produit bien un changement de nom d' agent mais,
comme si la semaine correspondante avait avancé de +1 ...


Que faut-il faire si le N° de semaine augmente de 2 par ex. ?
Faire 2 rotations "positives" ?
Que faut-il faire si le N° de semaine diminue de 3 par ex. ?
Faire 3 rotations "négatives" ?

AV