XL 2016 Planning automatisé

Vincent C

XLDnaute Nouveau
Bonsoir,

Tout d'abord, avant de commencer, je vous remercie énormément d'avoir pris le temps de m'aider à résoudre ma problématique.

Pour un cycle de 8 week-ends successifs, le nombre maximum de week-ends successifs est de 3 avec 2 week-ends de repos par la suite (règle convention collective).
Le quota est en général 3 samedi (réparti matin ou soir et un dimanche par cycle : ce n'est pas une règle en soi.

Sur le tableur envoyé en PJ,
Conduite à tenir :
Ouvrir la feuille Week-end aléatoire
Cliquer sur le bouton Planning => utilisation de code VBA pour répartition aléatoire

Ensuite cliquer sur convertir.
Conversion en colonne sur Feuil1 sur A2:K54
Automatiquement retranscrit en P2:Y54 sans les espaces en début de cellule excel

Le bouton Copier Valeurs va utiliser une petite macro pour copier/coller en valeur dans AE2:AN54

Le tableau AR:BW comptabilise le nombre de Samedi Matin (SM), Samedi Soir (SS) et Dimanche (D) par salarié sur chaque cycle.
A la fin des 7 cycles (le dernier étant pas complet), on devrait comptabiliser 20 Samedis et 4 Dimanche environ...

Est ce qu'il serait possible de poser des conditions pour rentrer dans les souhaits ?
Merci d'avance de votre aide,
Vincent
 

Pièces jointes

  • Week-end aléatoire.xlsm
    67.9 KB · Affichages: 13

AtTheOne

XLDnaute Accro
Supporter XLD
bonjour à toutes & à tous,
bonjour @Vincent C , ton sujet n'a pas passionné les foules ...
Tu as, dans tes macros, un effectif de 30 employés, est-ce bien l'ordre de grandeur de ton effectif ?
A bientôt

EDIT :
Dans tes macros ce sont les 2 des employés choisis pour les Samedi matin qui sont pris (au sort) pour assurer le dimanche du même WE, Est-ce la règle ?
(pour l'effectif, j'ai vu que tu faisais une vérification Nb <= 9)

A bientôt
 
Dernière édition:

Vincent C

XLDnaute Nouveau
Bonsoir tout le monde,
Avant de commencer quoi que ce soit, je remercie d'ores et déjà celles ou ceux qui auront pris le temps, même minime de me lire, de lire mon post où j'évoque le souhait de trouver une solution pour concevoir un planning aléatoire (avec quelques conditions) pour un roulement de samedi-dimanche entre plusieurs salariés sur 52 semaines.
J'ai essayé de reprendre l'exercice en réalisant un nouveau code VBA plus adapté.
En général, dans notre organisation, nous raisonnons sur 52 semaines soit n=54 sur le code. Pour un cycle de 8 semaines, le total des colonnes 1 à 8 ne peut pas excéder 3 fois au maximum. Je crois que cela est respecté. Je mentionne que nous pouvions reprendre les colonnes 1 et 2 pour incrémenter les colonnes 9 et 10 sachant qu'au maximum on pouvait avoir une fois les mêmes lettres.
Est ce qu'à partir du dernier code envoyé il est possible qu'on retire un tirage aléatoire si pour les 52 semaines le total par lettre est supérieur à 4 pour les colonnes 9-10. En fait peut être qu'il aurait pas fallu que je prenne les deux premieres lettres des colonnes 1-2 pour incrémenter 9-10 car si le tirage aléatoire met 3 fois une lettre en position 1 ou 2 sur un cycle de 8 semaines, alors les mêmes lettres peuvent apparaître plusieurs fois dans 9-10 sauf si il y a un quota... Ai je été clair, pas certain. Merci de votre aide.
 

Pièces jointes

  • Week_Rand (1).xlsm
    24.3 KB · Affichages: 12

Discussions similaires

Réponses
14
Affichages
426
Réponses
8
Affichages
495
Réponses
7
Affichages
528

Statistiques des forums

Discussions
315 087
Messages
2 116 082
Membres
112 654
dernier inscrit
SADIKA