Macro répartition optimale des charges de travail
Bonjour à tous !
je vous explique ma situation :
j'ai créé un tableau excel qui me permet de répartir sur chaque jour de la semaine mes ressources humaines sur différentes tâches et de sommer les besoins pour chaque métier sur chaque journée.
Une mise en forme conditionnelle me permet de voir quels jours je dépasse mes capacités en ressources pour chaque métier et je peux alors décaler certaines tâches dans le temps afin de lisser mes courbes de charges.
Dans l'échantillon excel que vous trouverez ci-joint, voici la structure :
- 1 ligne = 1 tâche
- colonne A : nom de l'ensemble fonctionnel et des tâches associées
- colonne B, E et F : non pertinentes pour la résolution de mon problème, servent uniquement pour informations et vérifications
- colonne C : type de ressources/métiers nécessaires à chaque tâche
- colonne D : nombre d'heures nécessaires à la réalisation de la tâche
- colonnes suivantes : les semaines calendaires
- les dernières lignes sous les tâches : la somme des besoins en ressources selon le type de métier et pour chaque jour
Comment mon tableau est renseigné :
à partir du nombre d'heures nécessaires à une tâche, je divise par 8 (8h/jour) pour obtenir le nombre de jours nécessaires en arrondissant au supérieur. Je mets alors un "1" sur chaque jour calendaire nécessaire, ou un "2" par exemple si je mets 2 ressources et divise ainsi mon nombre de jour par 2.
Sur les dernières lignes, la somme de mes différentes ressources sur chaque jour est alors calculée.
Ce dont j'ai besoin :
j'aimerais que Excel me renseigne de lui-même les lignes du calendrier de façon optimale (c'est-à-dire en minimisant le nombre total de ressources nécessaires par jour) en respectant les contraintes suivantes :
- les tâches d'un même ensemble fonctionnel ne doivent pas se superposer dans le temps (dans mon exemple certaines se superposent, mais pour des raisons de simplification, je préfère que Excel me fasse un premier dégrossissage et j'ajusterai ensuite en fonction de ce que je peux faire dans la réalité)
- les tâches d'un même ensemble fonctionnel doivent être réalisées dans l'ordre (suivre l'ordre des tâches du haut vers le bas)
- j'aimerais pouvoir fixer un nombre de semaines maximum pour la réalisation de la totalité des tâches du tableau
- j'aimerais pouvoir paramétrer le nombre maximal de ressources potentiellement allouables par métier (en gros j'aimerais pouvoir laisser la possibilité à Excel de choisir entre mettre un "1" ou un "2" selon le métier ou alors uniquement des "1" ou des "2")
- pour chaque métier, mes maximums par jour sont les suivants :
2 Débits
4 Chaudronniers
4 Fraiseurs
4 Tourneurs
2 Soudeurs TIG
2 Soudeurs MAG
2 Contrôleurs
Les marges de manœuvres :
- les différentes tâches peuvent être fractionnées dans le temps (mais l'ordre et la non superposition des tâches d'un même ensemble fonctionnel doivent être respectés)
- je pense qu'il y aura des cas où les maximums par jour de chaque ressources seront forcément dépassés selon la contrainte totale de temps, ce n'est pas grave : j'ai justement entre autres besoins de savoir si je suis obligé de passer une partie des tâches en poste 2X8 voire 3X8
voilà j'espère avoir été clair et ne pas demander la lune =) les véritables tableaux que je manipule peuvent faire plusieurs centaines de lignes et c'est pourquoi j'aimerais automatiser la répartition des charges car je passe de looooongues heures de manipulation de petits "1" et y gagne souvent de bons maux de tête aussi ^^'
J'ai quelques bases en VBA aussi il me suffirait d'une structure de base dans laquelle je peux ajuster les paramètres de lignes et de colonnes =)
En vous remerciant pour ceux qui auraient une solution ou des pistes à explorer !