Planification automatique

Bonjour ,
un nouveau sujet a vous soumettre ,je souhaite pouvoir planifier automatiquement mon personnel en fonction du planning de production ,des compétences nécessaire et des compétences de chaque collaborateur qui sont noté de 5 (ultra compétent sur le poste ) à 0 (doit être
planifié si plus de personnel plus qualifié de disponible )
Je vous joint le tableau avec des explications concrète .
Merci d’avance et bon dimanche printanier !!
Franck.
TEST PLANNING AUTO .xlsx (18,3 Ko)

Bonjour,

N’ayant pas eu de réponse je me demandais si :

-La demande est suffisamment claire.

-Ce n’est tout simplement pas faisable.

-Je dois laisser tomber et chercher quelque chose de plus simple.

Merci de me dire ce que vous en pensez que je revois ma copie ou que je passe à autre chose .
Encore merci pour toute l’aide que vous nous apportez sur les multiples sujets que nous vous soumettons :clap::clap:
Bonne journée :wink::wink:
Franck.

Bonjour Frank,
Vous avez quelle version d’Excel. (je l’ai pas retenu depuis la dernière fois)
Will-Fread

Bonjour Will-fread ,
J’ai la version 2019 .
Franck.

1 « J'aime »

Re, Vous pouvez tester si vous avez la fonction TRIER et FILTRE sur votre version ?

Oui j’ai bien les deux .

1 « J'aime »

Je vais essayer.
Will-Fread

Merci !!
Bon courage car je pense que le challenge est de haut niveau :grin::grin:

1 « J'aime »

:grin:,
voici le premier test :
malheureusement, j’ai presque fini toute à l’heure mais Excel s’est planté et j’ai pas pu récupérer ce que j’ai fais.

=FILTRE('PLANNING PROD'!$C$2:$C$17;TEXTE('PLANNING PROD'!$A$2:$A$17;"jjjj")=$A$1;"")

A mettre dans la feuille Planning, cellule A3.
PS : Assurez vous qu’on a le mots lundi dans A1.

=FILTRE('PLANNING PROD'!$E$2:$E$17;TEXTE('PLANNING PROD'!$A$2:$A$17;"jjjj")=PLANNING!$A$1;"")

A mettre sur B3
TEST PLANNING AUTO.xlsx (26,3 Ko)

Cordialement
Will-Fread

Je testerais en fin d’après midi et je vous dis .
Merci ,
Franck .

1 « J'aime »

Bonsoir ,
sur le principe bravo ,ca fonctionne ,sauf que vous avez rajouté des colonnes pour chaque compétences et mon souhait est que l’on affecte a chaque colonnes une seule compétence et qu’une fois que cette compétence est planifiée on passe à la suivante qui a le même niveau de compétence ,si il n’y en a plus alors on descend d’un cran et l’on passe sur les compétences 4 puis 3 etc …
Je pense que votre proposition me permettra déjà de faire un bon travail (Merci !!) mais je pense qu’il est nécessaire de travailler avec une Macro pour pouvoir intégrer mes requêtes .
Il serait intéressant d’intégrer les absences et du coup si un collaborateur est absent on passe à la compétence suivante ,j’ai rajouté une colonne absence dans l’onglet compétence.
Merci ,
Franck .
TEST PLANNING AUTO-1.xlsx (21,1 Ko)

1 « J'aime »

Bonjour

Ci-joint ma proposition en VBA
Onglet « PLANNING PROD » un bouton « Traitement »
Celui-ci traite toutes les lignes pour lesquelles le code compétence est présent dans l’onglet « COMPETENCES » en d’autres termes seuls CU1/CU2/CU3/CU4/CU6 sont pris en compte car intégrés dans cet onglet
Merci de me dire pour les autres l’action à mettre en place
Pour ces codes traités dans l’onglet « COMPETENCES » dans les colonnes respectives pour ceux non encore utilisé et n’étant pas en absence les noms sont choisis en fonction de leur indice associé du plus grand au plus petit (colonne « Comptx »)
Onglet « PLANNING » ce nom avec le code compétence et le code associé de l’onglet « PLANNING PROD » pour le jour de la semaine correspondant à sa date en colonne « A » de ce même onglet sont intégrés

Selon tout ce descriptif tu trouveras ce fonctionnement dans le fichier ci-joint
Si il doit être modifié merci de m’en donner tout le détail

Pour son fonctionnement un onglet « Paramètres » a été rajouté ne pas le supprimer
Celui-ci peut être masqué si tu le souhaites

En espérant ne pas trop m’être éloigné de tes attentes

TEST PLANNING AUTO-1.xlsm (38,9 Ko)

1 « J'aime »

Merci FFO pour ton expertise et ta proposition qui fonctionne avec les éléments que j’avais inseré dans le tableau ,je dois maintenant l’adapter avec les données réelles ,ce qui devrait etre relativement facile ,je reviendrais vers toi si je bloque !!
Mille merci a vous deux pour vos approches différentes d’un même problème mais une fois de plus ou le VBA est plus efficace !
Je retranscrit et vous tiens au courant de ma progression .
Encore merci ,
Franck.

Attention mon traitement est programmé uniquement pour ces codes compétences :

CU1/CU2/CU3/CU4/CU6

Il ne fonctionnera pas pour d autres codes même inclus dans l’onglet « COMPETENCES » sans être adapté

Si ma proposition comme tu sembles l’exprimer te convient n’oublies pas de la valider une petite satisfaction pour le travail accompli

Merci

1 « J'aime »

Merci pour ta validation
En relisant le code de mon traitement je lui ai apporté une petite correction afin d’éviter un dysfonctionnement éventuel pour des cas particuliers
Tu pourras récupérer cette nouvelle version en remplacement de celui que je t’ai préalablement transmis
Mille excuses

TEST PLANNING AUTO-1.xlsm (39,7 Ko)

Merci FFO ,
je reprend à l’instant la modification et du coup ,je vais les apporter a ta dernière proposition .
Je fais tout ça et te dis si j’y suis arrivé !!
A plus tard .
Franck .

Parfait
Tiens moi informé

Bonsoir,
j’ai apporté mes modifications et …le résultat n’est plus au rendez vous !!
Je n’obtient pas la sélection des collaborateurs en fonction de leurs notation de compétence et la macro ne déroule pas jusqu’à la fin de semaine .
Je te joint le fichier ,qui est sous sa forme finale .
Merci du coup de main !!
Franck
PLANNING AUTO .xlsm (50,0 Ko)

Je vois que tu as bien travaillé
Onglet « COMPETENCES » complété de tous les codes nécessaire pour traiter tous ceux intégrés dans l’onglet « PLANNING PROD » avec mise à jour en conséquence du traitement

Hélas ici sur ces lignes une petite coquille :

listecomp = « /CU1/CU2/CU3/CU4/CU6/OC1/OC2/CR1/CR2/CUN4 »
listecol = « /E/H/K/N/Q/T/W/Z/AC/AF/AI/ »

Manque le code CU7 après le code CU6 il est absent et la barre oblique slash à la fin de la liste

Ce qui donne ces lignes :

listecomp = « /CU1/CU2/CU3/CU4/CU6/CU7/OC1/OC2/CR1/CR2/CUN4/ »
listecol = « /E/H/K/N/Q/T/W/Z/AC/AF/AI/ »

Après cette correction la procédure fonctionne très bien

Seule bémol le traitement du jeudi et vendredi 06/04/2023 et 07/04/2023 qui faute de disponibilité dans la liste des noms ne peuvent aboutir à une intégration dans leur tableau respectif de l’onglet « PLANNING »
La disponibilité des noms peut être consultée onglet « Paramètres » colonne « A »
Tous ceux sur fond jaune ont été utilisés donc ne peuvent être sollicités une nouvelle fois

Si donc après l’exécution du bouton « Traitement » des codes pour certain jours n’ont pas été traités voir cette disponibilité dans cet onglet et colonne pour juger de cette situation
Pour ta programmation en place les jeudi et vendredi ne sont pas pris en compte pour cette raison
Onglet « Paramètre » tous les noms en colonne « A » sont sur fond jaune donc déjà utilisés sauf 2 qui ont colonne « B » des absences la mention « OUI » est portée donc non disponibles

Voilà ton fichier avec les petites coquilles corrigées détaillées ci-dessus en fonctionnement mais sans les jours jeudi et vendredi faute de nombre de noms suffisants disponibles

Testes et dis moi

PLANNING AUTO .xlsm (50,5 Ko)

J attire ton attention sur ces 2 lignes de codes que j’ai corrigées qui comportaient des imperfections
Elles doivent être correctement établies car du code compétence traité sera déterminé la colonne correspondante dans l onglet « Paramètres »

listecomp = « /CU1/CU2/CU3/CU4/CU6/CU7/OC1/OC2/CR1/CR2/CUN4/ »
listecol = « /E/H/K/N/Q/T/W/Z/AC/AF/AI/ »

CU1 premier de la liste sollicitera la colonne E premier de sa liste
CU2 deuxième de la liste la colonne H deuxième de sa liste etc

OC1 septième de la liste la colonne W septième de sa liste
Mais avec ton oubli du code CU7 le code OC1 est passé en sixième position est donc de prendre la colonne T sixième de sa liste au lieu de la colonne W
Idem pour tous les autres codes après qui ont subit le même décalage

Donc dans la confection de ces listes bien vérifier la position de chaque code qui doit être la même que celle de sa colonne sinon la pagaille en perspective dans le résultat du traitement
Ne pas oublier les barres obliques slash aux extrémités

Vigilance vigilance !!!