Calcul d'un shift

sevy1

XLDnaute Occasionnel
Bonjour
J'ai des équipes qui travaillent dant les chantiers, je constitue mes équipes en SHIFT qui dépend de la tranche horaire
exemple pour le jour J de 07:00 à 17:00 c'est l'équipe 1 de 17:00 à 07:00 c'est l'équipe 2
Pour le jour J+1 de 7h à 17h c'est léquipe 3 ainsi de suite.
Dans un tableau j'ai le chantier , la date de debut et la date de fin et je souhaiterai avoir l'équipe ayant travaillé
j'ai essayé cette formule
Code:
=SI(ESTVIDE(C3);"";SI(MOD(C3;1)<1*"06:59"; ENT(C3)-1;ENT(C3)))
mais je n'ai pas les résultats escomptés.
Pourriez vous me venir en aide
 

sioum

XLDnaute Occasionnel
Re : Calcul d'un shift

Bonjour,

J'ai testé plusieurs formules mais je n'arrive au même résultat donc je n'ai pas peut etre pas tout compris
 

Pièces jointes

  • Copie de SHIFT.xlsx
    14.4 KB · Affichages: 32
  • Copie de SHIFT.xlsx
    14.4 KB · Affichages: 42

Dranreb

XLDnaute Barbatruc
Re : Calcul d'un shift

Bonjour
J'arrive au résultat attendu avec cette formule en ligne 2 :
Code:
=MOD(ENT($C2)*2+EQUIV(MOD($C2;1)*24;{0;7,001;17,001})-2;7)+1
Format standard
Supposé qu'il y a 7 équipes, la 1 revenant après la 7.
 

sevy1

XLDnaute Occasionnel
Re : Calcul d'un shift

Bonjour
Je m'excuse pour la réponse tardive je n'ai pas pu me connecter hier.
Merci pour la réponse elle répond à mes attentes mon seul problème que dois-je modifier si le nombre d'équipe est supérieur à 7 car je ne comprends pas bien la formule.
 

sevy1

XLDnaute Occasionnel
Re : Calcul d'un shift

Bonjour
Je constate que lorsque je change de données je n'aboutis plus au résultat escompté voir fichier joint.
Il est également à noter que la première équipe peut commencer entre 17h et 7h ou vise versa
 

Pièces jointes

  • Copie de SHIFT.xlsx
    16 KB · Affichages: 34
  • Copie de SHIFT.xlsx
    16 KB · Affichages: 39

Dranreb

XLDnaute Barbatruc
Re : Calcul d'un shift

Bonjour
Pour changer le nombre d'équipes, changez le 7 en le bon nombre d'équipes.
Pour changer le calage du roulement, changer le -2 juste avant par autre chose
Pour changer l'heure d'entrée en fonction de l'équipe du jour changez le 7,001
Pour changer l'heure d'entrée en fonction de l'équipe de nuit changez le 17,001
L'ajout de 0,001 permet d'appliquer l'équipe voulue jusqu'à ces heures plutôt que l'équipe suivante à partir d'elles.
Le principe de la formule =MOD(ENT($C2)*2+EQUIV(MOD($C2;1)*24;{0;7,001;17,001})-2;7)+1
ENT($C2)*2 parce que deux équipes se suivent chaque jour, une de jour une de nuit, et que le numéro d'équipe dépend donc du double de la date
+EQUIV(MOD($C2;1)*24;{0;7,001;17,001}) cherche la position de l'heure dans la liste puisqu'elle constitue en même temps une valeur de décalage du numéro d'équipe de jour de la veille donné par le double de la date. En effet de 0 à 7 inclus c'est la position 1 ce qui correspond à 1 de plus que l'équipe de jour de la veille, soit l'équipe de nuit de la veille.
-2 fixé au pif pour imposer un certain numéro d'équipe, dans le cycle, à un moment donné.
MOD(CeQuiPrécède;7) prend le reste de la division de ce numéro éternel par le nombre d'équipes.
+1 parce qu'un reste de division entière commence par 0 et n’atteint jamais le diviseur.
 
Dernière édition:

sevy1

XLDnaute Occasionnel
Re : Calcul d'un shift

Bonjour
Merci pour ces explications
Dans le dernier fichier que jai joint copie de shift je ne comprends pas pourquoi mon shift commence à l'équipe 2 au lieu de l'équipe 1 puisque cette heure marque le debut des opérations
 

Dranreb

XLDnaute Barbatruc
Re : Calcul d'un shift

Il n'y a pas de début ou de fin d'opération, c'est une succession éternelle, en fonction de la date et de l'heure, de numéros d'équipes dans un roulement d'un nombre fixe d'équipes.
S'il le calage doit changer, ce qui m'étonne, il faut intégrer dans la formule la date de départ commune à tout le tableau, en la retranchant de la date portée avant de doubler cette différence.
 
Dernière édition:

sevy1

XLDnaute Occasionnel
Re : Calcul d'un shift

Bonjour
Il ya bien un debut et une fin de l'opération sauf que je ne sais pas combien de temps peut durer un chantier pour avoir le nombre d'équipes
2- Le chantier peut également commencer un jour X à la tranche horaire 17h- 7h c'est à dire la nuit au lieu de 7h-17h comme vu précedement dans ce cas comment prendre cette modification.
Excusez moi si je pose autant de question c'est parce que j'essaye et je ne parvient pas.
Merci pour votre compréhension
 

Dranreb

XLDnaute Barbatruc
Re : Calcul d'un shift

Oui mais on est bien d'accord que ce sont des équipes qui travaillent dans votre boite, qu'elles sont en nombre fixe, et que lorsque la dernière à effectué un travail, c'est à nouveau la première qui s'attaque au suivant ?
Si ce sont plutôt des chantiers pour lesquels on fait appel à des équipes venu d'autres entreprises et d'horizons divers, qui changent pour chaque affaire, il ne faut bien entendu pas du tout faire comme ça !
Enfin quand je dis pas du tout … Un peu quand même !
Comme quoi le simple exposé d'un résultat souhaité sans explication suffisantes du contexte a entrainé sans doute un malentendu de ma part. Il n'y a pas de limite en fait au nombre d'équipes, hein ? C'est toujours l'équipe 1 à une certaine heure d'un certain jour, et ça grimpe toujours après selon la durée de l'ensemble.
Alors on peut garder le principe de calcul d'un numéro absolu, très grand alors, selon la date et l'heure par =ENT(DtHr)*2+EQUIV(MOD(DtHr;1)*24;{0;7,001;17,001}) Mais il faut le calculer et y retrancher 1 pour la date et l'heure de la 1ère équipe dans une cellule de la feuille avec format de nombre ";;;" pour qu'elle ne soit pas affichée, et retrancher cette cellule dans toutes les formules où c'est la date et l'heure portée qui est prise comme DtHr
 

Dranreb

XLDnaute Barbatruc
Re : Calcul d'un shift

…ou alors recalculer à chaque ligne l'équipe 84456 de départ à retrancher de toutes comme ça, en D2 :
Code:
=ENT($C2)*2-ENT($C$2)*2+EQUIV(MOD($C2;1)*24;{0;7,001;17,001})-EQUIV(MOD($C$2;1)*24;{0;7,001;17,001})+1

Mais vous allez me dire que ça ne va pas non plus car je vois qu'il y a un trou dans vos données entre le 12/8/215 et le 18/8/15 de 3 jours, de sorte qu'on passe de l'équipe 2 à l'équipe 8

S'il faut que ce soit quand même 3 et non 8, vous pourriez mettre en D2 : 1 et à partir de D3 :
Code:
=D2+(ENT($C3)*2+EQUIV(MOD($C3;1)*24;{0;7,001;17,001})>ENT($C2)*2+EQUIV(MOD($C2;1)*24;{0;7,001;17,001}))
Mais je ne garanti pas que ce soit toujours bon, car vos dates en D ne sont pas parfaitement classées.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 322
Messages
2 087 278
Membres
103 507
dernier inscrit
tapis23