XL 2013 calcul de charge + planification

jasmine

XLDnaute Junior
Re : calcul de charge + planification

Bonjour CISCO
merci de ta promptitude, de ta disponibilité et d'avoir chercher. il est bien la 1ére solution, même si je ne sais pas à quoi consiste la deuxiéme... il me reste juste à remplir avec mes data et je dirais ce que ça donne.
bonne journée, A+
 

CISCO

XLDnaute Barbatruc
Re : calcul de charge + planification

Bonjour

Où est-ce que tu en es avec cette répartition , est-ce qu'il y a des semaines posant pb ?

@ plus
 

jasmine

XLDnaute Junior
Re : calcul de charge + planification

Bonjour cisco,

ça marche pour le moment, encore je n'est pas encore mis toutes mes données.
je te fais un breif demain :)

merci A+
 

jasmine

XLDnaute Junior
Re : calcul de charge + planification

tb.pngBonjour cisco, j'ai fini de remplir mon tableau, par contre, les valeurs dans les 15tableaaux à gauche ne changent pas5cf IMAGE)
je dois le remplir manuellement?
OU JE DOIS MODIFIER LA MACRO
merci d'avance
A+
 
Dernière édition par un modérateur:

jasmine

XLDnaute Junior
Re : calcul de charge + planification

Pourquoi les valeurs du test en cours ne changent pas, même si on se positionne sur une autres semaine?VAL.png
les valeurs en I20-N20 restent les mêmes, normalement elles devraient changer si on passe d'une semaine à une notre ?
ma.png

A+
 

CISCO

XLDnaute Barbatruc
Re : calcul de charge + planification

Bonsoir

Bonjour cisco, j'ai fini de remplir mon tableau, par contre, les valeurs dans les 15 tableaux à gauche ne changent pas (cf IMAGE)
...
merci d'avance
A+
Il faut :
* remplir toutes les colonnes en dessous de la plage I23:N23, en fonction du nombre de semaines à tester
* supprimer toutes les colonnes à droite de la colonne P,
* puis lancer la macro (--> développeur --> Macro --> EssaiF9 --> Exécuter).

Les nouvelles répartitions s'affichent ensuite au fur et à mesure, à droite, en fonction des données que tu as mis en dessous de I23:N23.

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : calcul de charge + planification

Bonsoir

Pourquoi les valeurs du test en cours ne changent pas,...
les valeurs en I20-N20 restent les mêmes, normalement elles devraient changer si on passe d'une semaine à une autre
A+
Elles changent pendant que la macro toune. A la fin, elles correspondent aux données de la dernière semaine testée.

@ plus
 
Dernière édition:

jasmine

XLDnaute Junior
Re : calcul de charge + planification

bonjour,
super tout est mis à jour
par contre j'ai trois semaines qui posent probléme...
a+
 

CISCO

XLDnaute Barbatruc
Re : calcul de charge + planification

Bonjour

Est-ce que tu peux m'envoyer les données correspondants aux trois semaines posant pb (ou au moins, correspondant à l'une de ces 3 semaines) ?

Comme je te l'avais dit, j'ai essayé de trouver une autre méthode te disant à coup sûr s'il y a ou pas une ou des répartitions convenant. Cela tourne, mais c'est très long. En changeant l'organisation de la macro, en changeant d'ordi..., cette macro a trouvé une première répartition au bout d'une vingtaine de minutes, et plus d'une centaine de répartitions possibles pour la semaine 12 en plus de 2 h (semaine 12 qui posait problème avec la première méthode, 2 ou 3000 tirages au hasard étant nécessaires pour trouver une première répartition convenant, alors que pour les autres semaines, moins de cent tirages suffisent en général). Autrement dit, celle nouvelle méthode n'est pas plus rapide que l'ancienne, mais s'il y a au moins une répartition convenant, elle la trouve.
Je ne suis pas certain de la qualité de cette nouvelle macro donc je fouille encore un peu dedans avant de la poster. Avec une de tes semaines à problème, je pourrai voir si cette nouvelle méthode fonctionne... et combien de temps cela demande.

@ plus
 

jasmine

XLDnaute Junior
Re : calcul de charge + planification

RE'bonjour
ci-joint les donées des 7 (je m'étais trompée) semaines posants probléme.

une question, dans la formule à "I4":
=SI((I$23=0)+(ARRONDI(SOMME(I$3:I3);6)=ARRONDI(I$22;6))

le 6 represente le nombre d'empoyés??

merci CISCO
A+
 

CISCO

XLDnaute Barbatruc
Re : calcul de charge + planification

Bonsoir

Non, le 6 représente le nombre de chiffres après la virgule pris en compte.

Ex : 1,1212452 est arrondi à 1,121245

@ plus

P.S : Le fichier avec les semaines posant problème n'est pas avec ton dernier post... Pour que je puisse voir ce que cela donne avec la seconde méthode, il me faut bien sûr les habilitations de tes employés (mets des noms bidons).
 

jasmine

XLDnaute Junior
Re : calcul de charge + planification

bonjour
je n'arrive plus à joindre des fichiers, merci de voir ces semaines en image
pp.jpg

A+
 

CISCO

XLDnaute Barbatruc
Re : calcul de charge + planification

Bonjour

Ton fichier est peut être devenu tros gros, hors, comme je n'ai pas besoin de tout... Dans un nouveau fichier

1) ne mets que le petit tableau, présentant les données des 7 semaines à pb,
2) et un autre petit tableau avec les habilitations des "tes" employés, une fois les noms anonymés.

@ plus
 

CISCO

XLDnaute Barbatruc
Re : calcul de charge + planification

Bonsoir

Il est évident que ton entreprise ne pourra pas faire les tests de la semaine 8 avec cette équipe. Les 4 tests "Flexibles" nécessitent 74:00 h de travail au total, soit 18:30 h par test. Et comme tu n'as que l'opérateur G pour faire ce type de test, il ne pourra en faire qu'un seul (au mieux, 2 tests en faisant 2:00 h sup).

@ plus

P.S : Même type de problème pour la semaine 14
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : calcul de charge + planification

Bonsoir

En pièce jointe, quelques répartitions possibles pour les semaines 11, 15 et 23. Les autres semaines posent pb à cause des tests "Flexibles" à faire, qui nécessitent plus de 35 h, hors, comme il ni y a qu'un employé pour faire ce type de test...

Ces répartitions ont été obtenues très rapidement, mais cela m'a montré qu'il y avait une erreur dans ma macro dans les colonnes sans test à faire. J'ai arrêté la macro en route, le but ici n'étant pas de trouver toutes les répartitions possibles, mais de montrer qu'il en existe.

Je regarde davantage cette macro, et je la poste.

@ plus

P.S : Ces tableaux ne donnent pas le nombre d'heures attribuées à chaque employé dans la colonne, mais le nombre de tests que doit effectuer cet employé.
 

Fichiers joints

Dernière édition:

jasmine

XLDnaute Junior
Re : calcul de charge + planification

Bonsoir

Il est évident que ton entreprise ne pourra pas faire les tests de la semaine 8 avec cette équipe. Les 4 tests "Flexibles" nécessitent 74:00 h de travail au total, soit 18:30 h par test. Et comme tu n'as que l'opérateur G pour faire ce type de test, il ne pourra en faire qu'un seul (au mieux, 2 tests en faisant 2:00 h sup).

@ plus

P.S : Même type de problème pour la semaine 14
Bonjour Cisco
cela montre qu'il n'y pas assez de personne formé pour les flexibles. je trouve la macro parfaite. elle est un outil de discision dans la mesure ou on voit les semaine ou il manquerai de ressource et de prévoir des solutions comme (l'interim).
 

jasmine

XLDnaute Junior
Re : calcul de charge + planification

Bonsoir

En pièce jointe, quelques répartitions possibles pour les semaines 11, 15 et 23. Les autres semaines posent pb à cause des tests "Flexibles" à faire, qui nécessitent plus de 35 h, hors, comme il ni y a qu'un employé pour faire ce type de test...

Ces répartitions ont été obtenues très rapidement, mais cela m'a montré qu'il y avait une erreur dans ma macro dans les colonnes sans test à faire. J'ai arrêté la macro en route, le but ici n'étant pas de trouver toutes les répartitions possibles, mais de montrer qu'il en existe.

Je regarde davantage cette macro, et je la poste.

@ plus
re,
encore merci pour cette recherche, je continue de remplir le voir pour voir s'il ya d'autres semaines posant problème.

A+
 

CISCO

XLDnaute Barbatruc
Re : calcul de charge + planification

Bonjour

Ci-joint deux macros permettant d'utiliser une autre méthode, listant toutes les répartitions possibles.

Le principe :
* Les formules dans le tableau I4:N16 donne le nombre max de tests que peut faire l'employé concerné s'il y consacre le maximum de temps possible, pour la colonne en cours. Dans I4, cela donne
Code:
SI((I$20=0)+(B4<>"X");0;MIN(ENT($O$1/(I$19/I$20));I$20))
Par ex, si l'employé concerné est habilité pour ce type de test, si l'équipe doit en faire cette semaine là 8 en 48:00 h (donc 6:00 h par test), il pourra en faire dans la semaine au max 5 en 30:00 h (puisqu'il ne peut pas faire plus de 35:00). Ce qui signifie que pour cette cellule, on a le choix entre toutes les valeurs entières allant de 0 à 5 incluses.

* Dans chaque colonne on obtient une série de nombres identiques , par ex 5, 5, 5 s'il y a trois employés habilités pour ce type de test. Ce qui signifie que le nombre de répartitions possibles pour cette colonne est 6 * 6 * 6 = 216 cas possibles.

* Mais on veut aussi que la somme des nombres de cette colonne soit égale au nombre de tests demandés, fixés par le cahier des charges, donné sur la ligne 20. Toujours avec l'exemple précédent, on veut faire 8 tests de ce type, et cela peut être fait avec
0 + 3 + 5 = 8
0 + 4 + 4 = 8
0 + 5 + 3 = 8
1 + 2 + 5 = 8
1 + 3 + 4 = 8
et ainsi de suite, chaque valeur étant forcément <= à 5, le total devant donner 8.

La première macro, nbredetestconvenanttableau, met en mémoire, toutes les répartitions possibles :
- correspondant à la première colonne (c-à-d au premier type de test), dans un tableau T1, en mémoire
- correspondant à la seconde colonne (c-à-d au second type de test), dans un tableau T2, en mémoire
et ainsi de suite jusque la colonne 6, dans T6.

Elle affiche dans I24:N24 le nombre total de répartitions possibles pour chaque colonne. Dans le fichier joint, cela donne 21 pour la première colonne, 12465 pour la seconde et ainsi de suite.

Les répartitions intéressantes pour tout le tableau I4:N16, convenant, sont une combinaison de ces diverses répartitions, colonne par colonne, stockées dans T1, T2.... et T6. Ce qui en fait 21*12465*....= 366 471 000 répartitions possibles pour l'exemple en pièce jointe.

* La seconde macro, résultatsconvenant, à l'aide de plusieurs boucles, liste toutes les répartitions possibles en piochant, dans l'ordre (et pas au hasard) dans T1, T2....
Plus exactement :
- elle prend dans T1 une première répartition pour la colonne 1 (I4:I16),
- prend dans T2 une répartition pour la colonne 2 (J4:J16),
- calcule le temps total nécessaire pour chaque employé pour réaliser les tests de ces deux colonnes,
- et si cela dépasse 35 h pour un des employés, prend une autre répartition dans T2, refait le calcul...

Lorsqu'elle a trouvé une répartition prise dans T1 et une autre prise dans T2 ne nécessitant pas plus de 35:00 h pour chacun des 13 employés, elle choisit une répartition dans T3 et recommence le calcul par rapport aux 35:00 h.

Lorsqu'elle a trouvé une répartition dans T1, une autre dans T2, une autre dans T3 ne nécessitant pas au total plus de 35:00 h pour chacun des 13 employés, elle choisit une répartition dans T4....

Lorsqu'elle a trouvé les 6 répartitions prises dans T1, T2, T3... et T6 donnant des totaux horaires inférieurs ou égaux à 35:00 h, elle affiche le tableau correspondant à droite et demande si l'utilisateur veut trouver une autre répartition.

En pratique, il faut forcément utiliser les deux macros l'une après l'autre, nbredetestconvenanttableau puis résultatsconvenant, à chaque fois. Chez moi, avec cet exemple, la première tourne 4 ou 5 minutes avant d'afficher les valeurs désirées dans I24:N24, la seconde 2 ou 3 secondes avant d'afficher la première répartition convenant. Pour traiter une nouvelle semaine, il faut remplir "à la main" la plage I19:N20 avec les valeurs correspondantes.

Il y a certainement plus simple, au niveau de l'écriture du code, vu qu'il y a plusieurs boucles qui se ressemblent beaucoup, mais bon, puisque cela semble fonctionner ainsi... Si je trouve un peu plus simple, je le posterais.

@ plus

P.S : Je n'arrive pas à faire afficher les totaux horaires sous la forme hh:mm dans la colonne X. Il y a presque toujours des 0 pour les secondes, alors que cela ne nous intéresse pas... Pour afficher des totaux horaires dépassant les 24 h, j'ai fait avec la ligne de code
Code:
Cells(compteur * 15 + 3 + i, 24) = Application.Text(IIf(totalemployé(i, 6) = 0, "", totalemployé(i, 6)), "[h]:mm")
Si quelqu'un a une solution, directement en VBA, pour ne pas avoir ces secondes... Merci d'avance.
 

Fichiers joints

Dernière édition:

jasmine

XLDnaute Junior
Re : calcul de charge + planification

Bonsoir,
merci :) , vu le nombre de cette macro, ça change change carrément de la premiére.
donc pour qu'on puisse avoir les solution, il faut impérativement les 2 macro...
j'ai bien avancé sur l'autre sur la premiére version, et pour toutes les semaines que j'ai fais jusque l'a sont OK.
j'essaie juste de voir comment alimenter ma base (automatique), que je n'ai pas à saisir. je termine LES 52 semaines pour voir ce que ça donne. s'il le faut pour les 7 semaines qui ne sont pas OK, je les adapterai à ta derniére solution.
merci
A+
 

Discussions similaires


Haut Bas