XL 2013 Planning de 3 salaries sur des semaines différentes et weekend différent sur une année

Excelmy

XLDnaute Nouveau
Hello à tous ,j'ai une problématique qui peut être vous paraîtra anodine ,mais moi je n'ai pas su le faire :
J'ai un planning à faire de 3 personnes qui travaillent un vendredi sur 2 et du coup je dois décaler leur weekend ,soit c est un Samedi /Dimanche ,soit c'est un Vendredi/ Samedi
je dois faire un planning automatique sur l'année et faire apparaître en couleur les jours travaillés ,ca va etre 1 semaine de 4 jours puis une semaine de 6 jours ,alterner les semaines automatiquement sur une année .Avez vous une idée de comment faire ça ? je vous remercie
 

eriiic

XLDnaute Barbatruc
Re,

un exemple donc.
Sans fichier de ta part il faudra faire la mise en page que tu envisageais, et ajouter des MFC si tu souhaites.
La formule ne change pas et est valable pour toutes les années. Tu peux la tirer vers la droite et vers le bas.
Juste adapter $A2 qui doit pointer sur la colonne des dates (même ligne), et B$1 sur la ligne des noms (même colonne).
eric
 

Pièces jointes

  • Planning.xlsx
    21 KB · Affichages: 35

Excelmy

XLDnaute Nouveau
Wawwww ,tu viens de m'enlever une épine,est ce que tu peux m'expliquer cette formule en langage courant que je puisse la refaire toute seule ,c'est vraiment génial ,comme je suis une novice ,mais je veux vraiment apprendre ce langage
Je te remercie vraiment ,je dormais pas bc juste pour ca
 

eriiic

XLDnaute Barbatruc
Le principe est simple.
Tu calcules la différence en jours entre ta date et la date de début du cycle (définie pour chaque nom dans Param), modulo 14 (longueur du cycle) pour ramener cette différence entre 0 et 13.
Ce nombre te donne la position dans le cycle, plus qu'à ramener ce que tu as défini pour lui dans le 2nd tableau.

VB:
=INDEX(Param!$E:$E;MOD($A2-RECHERCHEV(B$1;Tab_Nom;2;FAUX);NB(Param!$D:$D))+2)
Détails :
RECHERCHEV(B$1;Tab_Nom;2;FAUX) : recherche date de début du cycle pour le nom en $B1
$A2-RECHERCHEV(B$1;Tab_Nom;2;FAUX) : différence avec la date en $A2
MOD($A2-RECHERCHEV(B$1;Tab_Nom;2;FAUX);NB(Param!$D:$D))+2) : diff modulo 'longueur du cycle' + 2 (pour =0 on veut le résultat ligne 2)
=INDEX(Param!$E:$E;calcul ligne voulue) nous ramène le libellé noté pour cette position dans le cycle.

Tu peux aller au lit pour récupérer ton sommeil... ;-)
eric
 

Discussions similaires

Réponses
0
Affichages
364