Salut Cisco,
Merci bcp pour ton travail et ce fichier...
1) Si je souhaite dupliquer le modèle sur 3 mois par ex: j'ajouter des ligne sous la dernière date en jaune (2/10/2016) et en ajoute le même nombre à la suite de la colonne AG? Du coup il faut que je modifie le contenu de 'plage repos' je suppose? et dans la macro je modifie toutes les plages de cellules correspondantes?
Si tu veux faire le tirage sur plusieurs mois en une seule fois, il faut insérer des lignes à partir de la ligne 34. Le nom
plagereposjour s'adaptera automatiquement. Par contre il faudra modifier dans la macro tout les 33, en remplaçant ce nombre par le n° de la dernière ligne de ton nouveau tableau.
2) Si je souhaite modifier la règle du 4 max par une autre valeur: Je modifie dans les cellules la partie <4 par l'autre valeur? je pense qu'il y a une valeur à modifier dans la macro?
* Dans les formules : Oui, il faut y mettre la nouvelle valeur à la place du 4. Si tu veux, je peux mettre ce 4 dans une cellule, et la formule ira lire cette valeur. Ainsi, si tu veux changer celle-ci, tu n'auras plus à modifier les formules. Il te suffira de modifier la valeur dans cette cellule.
* Dans la macro : Il ni y a rien à changer dans la dernière version car celle-ci fait systématiquement les 500 essais (la ligne
'If max = Range("A37:A109").Rows.Count * 4 Then i = 500 ne "sert à rien" (donc le 4 dedans aussi), ce que l'on voit avec l'apostrophe au début de cette ligne de code (symbole qui, normalement, introduit un commentaire, mais ici, m'a servi à mettre sur la "touche" cette ancienne ligne, au cas où j'aurai besoin de la réintroduire dans une version ultérieure), et aussi à sa couleur verte).
3) Enfin si je souhaite intégrer plus de possibilités sur une journée je copie la formule des cellules rouges dans les cellules grises des colonnes L, N et P dans le tableau de gauche?
Oui. Tu peux copier toute la plage J3:J33 et la coller dans L3, puis dans N3, puis dans P3.
Enfin, je n'ai pas bien saisi la fonction du tableau de droite. Tu as rempli à la main le contenu des cellules rouges de façons à retrouver en R1 le résultat nombre de bénévoles X rotations max autorisées soient 4 dans le fichier ? Car rien ne change dans ce tableau au fur et à mesure des tirages.
La macro ne trouve pas dès le début une possibilité avec toutes les cellules rouges occupées dans la plage C3: C33. Donc, elle stocke dans la plage R3:AE33 une possibilité comportant x cellules rouges occupées. Si lors d'un autre tirage, elle trouve une autre possibilité, avec y cellules rouges occupées, avec
y > x, la macro l'inscrit dans R3:AE33. Elle fait au maximum 500 essais, et inscrit au fur et à mesure la dernière meilleure possibilité dans R3:AE33, en écrasant la précédente, moins bonne. Si la valeur dans R1 ne change pas, c'est qu'elle a trouvé dès le début une des meilleures possibilités, avec un max de cellules rouges occupées. Dans les essais que j'ai fait, j'avais par ex R1= 120, puis un peu après 122, puis 123, puis 124. Après effectivement, cela ne changeait plus, ce qui est logique puisqu'il y a 124 cellules rouges disponibles (31 * 4 = 124).
J'essaye de te faire ce soir un exemple avec deux mois. Ainsi tu verras la différence. Ne te restera plus qu'à tout comprendre pour le faire pour trois mois, si tu en as besoin.
@ plus