Création d'un planning avec répartition équitable des tâches

Bonjour le forum,

Je cherche une solution qui me permettrait de générer un planning en fonctions des conditions suivantes :

Contexte

Le service comporte 13 personnes

Chaque semaine est travaillée par ces 13 personnes du lundi au vendredi

Chaque jour de travail est divisé en 3 périodes

Il existe 4 tâches (L, R, GV, GP) au sein de l'équipe, deux ne nécessitent pas de compétence spécifique, deux sont soumises à compétence spécifique.

Chaque personne fait une tâche différente par période (dans l'idéal) sur la même journée : par exemple L en période 1, GV en période 2, R en période 3

Besoin

Je cherche à équilibrer les affectations en fonction des compétences de chaque personne afin d'éviter que l'une des personnes du service ne se retrouve affectée de manière plus régulière sur une tâche ou l'autre que ses collègues (dans la mesure du possible)

En pratique les tâches GP et GV sont les plus appréciées et lors des affectations chacun compte le nombre de fois où il a été affecté dessus (et pour les responsables d'équipe vous imaginez bien où ça peut mener) et j'ai donc besoin que chacun les effectue au maximum de manière équitable.

Ce planning serait trimestriel avec prise en compte des différentes absences et rééquilibrage, il faudrait qu'il soit évolutif pour prendre également en compte les montées en compétences et arrivées de nouveaux salariés

Conditions et règles

Il doit y avoir un maximum d'équilibre sur les tâches GV et GP, tous les salariés doivent en faire le même nombre par semaine ou s'en approcher au maximum

L'attribution des tâches L et R en fonctions des compétences de chacun doit dans l'idéal être équitable également (un salarié non compétent pour L fait plus de R et inversement)

Les salariés compétents sur les 4 tâches doivent être également affectés sur toutes les tâches

Un seul agent est affecté sur L

Un ou 2 agents sont affectés sur R

Les affectations sur GV sont obligatoirement en binôme, GP en binôme ou en trinôme

En cas d'impossibilité de pourvoir toutes les tâches l'ordre de priorisation est : L - GP1 - GV1 - R - GP2+3 - GV2+3

Je n'ai pas trouvé de solution pour générer un planning permettant de prendre en compte autant de paramètres

Le fichier joint est très basique car rien n'est figé en termes de présentation : le seul impératif réel est de disposer du planning de présence et du planning des affectations. La plage A3:E16 en feuille 1 détermine les compétences des salariés

En remerciant par avance toute âme charitable pouvant m'apporter des éléments d'aide!

Belle journée

Bonjour,

Peut-on considérer qu'un peu de VBA sera le bienvenu ?

A+

re,

bonjour Galopin,Nam,

Je suppose que c'est impossible sans VBA !

Pendant ces 3 périodes par jour, on a donc 4 ou 5 L's, R's, GV's et GP's (si on ne considère pas encore les compétences!) ?

Bonsoir Galopin et BsAlv,

Merci d'avoir regardé le topic

Je pense en effet qu'un peu (beaucoup?) de VBA serait bienvenu mais j'avoue que je ne maîtrise pas énormément l'outil

En revanche je suis très friand d'explications pour essayer de me dépatouiller sur les projets futurs

Sur chaque période tous les salariés présents sur la journée doivent être affectés sur une tâche, il ne peut y avoir qu'un seul en L, un ou deux en R, et des binômes ou trinômes (en priorisant des binômes) sur GV et GP

Bonjour,

J'ai commencé à réfléchir sur votre problème, qui pour moi aussi parait impossible à résoudre sans programmation, et probablement assez poussée.

  1. Le nombre de personnes et de taches pourront-ils varier (augmenter) ?
  2. Pour les taches à plusieurs employés, y-a-t-il des regroupements préférés (binome plutot que trinome etc) ?
  3. Comment les employés (et donc vous indirectement) voient-ils les vacances ? Dans le sens ou, si j'ai bien compris l'objectif est d'harmoniser par tranches de 1 mois. Si un employé part en vacances 1 semaine, il aura donc 1 semaine de "retard" sur la tache GP la plus appréciée. Voit-il comme un problème d'avoir "perdu" cette semaine (donc mois d'affectations que ses collègues à la fin du mois), ou bien est-ce un problème pour les autres notamment s'il est affecté systématiquement jusqu'à rattrapage du retard (en respectant les autres règles bien entendu) ?
  4. Les taches GP2 et GV2 sont distinctes de GP1 et GV1 ou désignent elles les collègues à ajouter si surplus ?
  5. Comment gérer le cas si par exemple personne ne peut faire la tache L au jour J car tous les employés qualifiés sont indisponibles (est-ce un problème de ne pas la faire ce jour là) ?

Une autre question, comment gérer le cas où l'on a plus de personnel disponible que de postes. Par exemple actuellement on a 13 employés pour 6 taches = 13, ca va. Si 14 employés, il y aura des non-affectations sur certaines périodes. Est-ce un problème ?

Edit :

Le problème sous-jacent ("problème de partition") est en réalité très complexe à traiter. Je pensais le simplifier en évitant le calcul très lourd de toutes les combinations possibles, et plutot avancer en semaine par semaine. Cependant si un employé à ses vacances en fin de mois, il finira pour sur avec moins de taches prioritaires que les autres sur ce mois car elles ne seront pas récupérées. Il y a des contournements possibles (regarder les vacances en avance et commencer avec une priorité sur la tache, ou bien garder en mémoire pour le mois suivant), mais si ce n'est pas un problème c'est tout de meme plus simple.

re, salut sanoh12617,

c'est encore rigide, uniquement pour la première semaine de septembre, mais c'est pour voir si j'ai bien compris ce planning.

Voir feuille "Blad1" :

  • A6:K18 = présence de vos 13 personnes
  • M6:AG18 = mon planning (après exécution de la macro)
  • M20:AG23 = nombre de personnes par tache par shift
  • AK6:AN18 = nombre de tâches par personne
  • AR6:AU18 = même chose mais en pourcentage

bouton pour lancer la macro en AH2 (durée = 20-30 sec, on peut suivre le progrès dans le "statusbar")

un 2eme essai

re,

j'ai ajouté des graphiques pour montrer qu'on a besoin d'environ 6 semaines pour atteindre une répartition équitable des tâches.

PS. Mes 3 premières semaines (en août) étaitent là pour tester et faussent un peu l'image.

Bonsoir BsAlv, saboh,

Tout d'abord désolé pour le délai de réponse et merci d'avoir continué de regarder

@Saboh :

Le nombre de personnes et de taches pourront-ils varier (augmenter) ?

Oui pour les deux, c'est dans le projet : à terme il devrait y avoir 16 employés répartis sur 2 équipes - et la donne se compliquera (objectif moyen/long terme)

Pour les taches à plusieurs employés, y-a-t-il des regroupements préférés (binome plutot que trinome etc) ?

Oui :

  • L = 1 seul employé obligatoire
  • R = 2 employés maximum mais 1 possible en fonction de l'attribution des autres tâches (on priorise de pouvoir affecter sur le maximum de tâches plutôt que de mettre un binôme systématique sur cette râche)
  • GV = binôme obligatoire (il peut en revanche y avoir jusqu'à 3 GVs)
  • GP = binôme préférentiel, trinôme si pas le choix

Comment les employés (et donc vous indirectement) voient-ils les vacances ?

Je pars du principe qu'un employé absent "perd" la semaine (il n'est pas au travail de toute manière)

Les taches GP2 et GV2 sont distinctes de GP1 et GV1 ou désignent elles les collègues à ajouter si surplus?

Ce sont des doublons avec GV1 et GP1, je peux avoir deux binômes distincts sur ces tâches mais pas 4 ou 6 employés en même équipe - les **2's permettent de créer un deuxième voire 3ème binôme sur la tâche

omment gérer le cas si par exemple personne ne peut faire la tache L au jour J car tous les employés qualifiés sont indisponibles (est-ce un problème de ne pas la faire ce jour là) ?

Malheureusement c'est un problème, L est ma tâche "priorité absolue". Dans la gestion de l'équipe je suis dans l'obligation de maintenir au minimum un employé compétent pour cette tâche par jour de travail.

Une autre question, comment gérer le cas où l'on a plus de personnel disponible que de postes. Par exemple actuellement on a 13 employés pour 6 taches = 13, ca va. Si 14 employés, il y aura des non-affectations sur certaines périodes. Est-ce un problème ?

Je pallie cette problématique en créant un nouveau binôme sur GP ou sur GV

@BsAlv

image image

J'ai regardé principalement la V3 et cela empêche le déroulement de la macro "Planning"

Je pense que cette V3 approche plutôt bien de ce que je rechercherais : un planning des présences que je pourrais mettre à jour au fur et à mesure des demandes de congés, un planning des affectations (avec un bonus en MfC tout simple mais auquel je n'aurais pas forcément pensé) et la synthèse qui permet de suivre les différentes affectations

Une question non urgente mais qui pourrait avoir son importance à la toute fin : à quel endroit modifier les noms des tâches & salariés pour "désanonymiser" le fichier?

Les réponses à saboh risquent en revanche de modifier quelques paramètres?

Encore merci à tous les deux,

Bien belle soirée

re,

Une question non urgente mais qui pourrait avoir son importance à la toute fin : à quel endroit modifier les noms des tâches & salariés pour "désanonymiser" le fichier?

  • mettre à jour les noms et compétences dans le tableau "TBL_Competences (feuille "paramètres")
  • mettre à jour la séquence des tâches en relation avec le nombre de personnes dans le tableau "TBL_Priorite" (feuille "paramètres"), donc top-priorité à "L", puis "GP", "GV", ....
  • mettre à jour la dates de la ligne 1 de la feuille "planning présences"
  • mettre à jour les noms dans la colonne A de la feuile "planning présences", la séquence, vous pouvez le choisir oubien vous copiez/collez les noms du tableau "TBL_Competences",
  • oubien vous supprimer les colonnes inutiles (pour le moment) oubien vous videz les cellules à partir d'une colonne, par exemple ici, X3:IS19
  • Vous modifiez les dates de la ligne 1 de la feuille "Planning_Affectations". Là, dans la cellule A1, vous pouvez choisir un nom pour coloriser les cellules avec ce nom avec une MFC. Il y a aussi une MFC (rouge) pour les personnes qui ne sont pas qualificées pour leur tâche. (rare)
  • feuille "Synthèse", vous modifiez les noms de la ligne 16, (copier/coller les noms du tableau "TBL_Compétences" ???)
  • Graphs = rien
  • feuille "Brouillon", plage A7:A26, les noms de vos personnes (séquence que vous choississez)
  • vous poussez le bouton bleu "Tout remettre à zéro"

et voilà, on est parti ...

choississez un lundi (ou un autre jour) qui existe dans la ligne 1 de la feuille "planning présences" pour déterminer une période de 7 jours dans la cellule "C1" de "Brouillon" et clicquez le bouton "planning" et après 30 sec, vous aurez votre première solution. Pour la sauvegarder, vous clicquez sur le bouton "Copier&coller" et les anciennes données de cette semaine seront supprimées et remplacées par cette solution.

Autre option : vous choississez un lundi comme ici dessus et vous choississez par exemple 4 dans la cellules C2 pour un planning de 4 semaines. Si vous poussez le bouton "planning boucle", la macro est lancée pour environ 4 fois 30 sec = 2 minutes et le sauvegarde des données est fait pendant l'exécution. Si vous faites cela, c'est mieux avant de lancer cette macro, de supprimer toutes les données de ces semaines avec le bouton jaune "trier ou supprimer" et les cellules C3 et C4, donc en C3 vous mettez le même lundi que C1 et en C4, s'il est vide, toutes les données à partir de la date en C3 seront supprimées oubien si vous mettez là un jour, jusqu'à ce jour sera supprimée.

Maintenant, vous pouvez vérifier la répartition dans les graphs de la feuille "Graphs"

C'est un début, j'arrête ici, parce qu'autrement c'est trop en une fois.

Bonjour,

A l'ouverture le classeur cherche à récupérer les données d'un classeur lié OpenSolver.xlam

Cette liaison rompue bloque l'exécution de Planning :

image image

Je me suis bien assuré avant d'ouvrir le classeur de le débloquer pour permettre l'exécution des macros

J'ai aussi tenté pour voir si la suppression de la liaison pouvait permettre de la cner la macro mais cela ne fonctionne pas

re, je ne comprends pas cette erreur, je n'ai utilisé nulle part Solveur ou OpenSolver. Donc maintenant, j'ai supprimé sur chaque feuille le modèle solveur (qui normallement n'existait pas).

C'est mieux comme ça ?

Rechercher des sujets similaires à "creation planning repartition equitable taches"