Liste aléatoire noms avec doublon possible 1 fois et contrainte d'un jour

patsyl60

XLDnaute Occasionnel
Bonjour à tous,

je m'en remet aux grands spécialistes que vous êtes. J'ai besoin de faire une selection aléatoire de noms pour un planning de permanence mais il faut que les agents soient 2 fois dans le tableau. J'ai une contrainte d'absence car il ne faut pas que les agents soient dans le tableau le jour de leur absence. Je ne sais pas m'en sortir tout seul.Sur le forum, j'ai trouvé plein de liste sans doublon mais pas de liste avec un doublon obligatoire.

Dans le fichier joint, les agents sont dans la colonne A et le nombre peut être variable. Les jours d'absence sont dans la colonne B.

Il me faut remplir les plages D1 (adresse non variable) à H7 (adresse variable) avec 2 fois le nom de chaque agent.

D'avance merci de votre aide.

Bonne fin de journée.

Patsyl60
 

Pièces jointes

  • test1.xls
    24.5 KB · Affichages: 84
  • test1.xls
    24.5 KB · Affichages: 85
  • test1.xls
    24.5 KB · Affichages: 81

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Liste aléatoire noms avec doublon possible 1 fois et contrainte d'un jour

Bonsoir patsyl60,

Un essai dans le fichier joint. Ne pas toucher au tableau du bas
Je préviens: il n'y a aucune optimisation du code. On procède à un nouveau tirage au sort tant qu'il des agents qui travaillent le jour de leur absence!
(Je sais, je ne me suis pas foulé! :eek: Mais pour 24 items, j'ai considéré que ça pouvait le faire)
 

Pièces jointes

  • planning v2.xls
    45 KB · Affichages: 97
  • planning v2.xls
    45 KB · Affichages: 128
Dernière édition:

CBernardT

XLDnaute Barbatruc
Re : Liste aléatoire noms avec doublon possible 1 fois et contrainte d'un jour

Bonsoir patsyl60, mapomme et le forum,


Une solution par VBA également.

Je me suis posé la question de l'absence du lundi dans le planning ? Dans le cas où le lundi serait au planning, la macro sera à remanier.

1- 24 plages et 12 agents, cela fait 2 plages par agent par période de 4 jours.
2- Comme il ya 6 plages et que chaque agent n'ai présent que sur deux plages, il est possible de le placer de permanence sur chacune des 6 plages sur une période de 12 jours. Le planning est revu dans ce sens.
3- La contrainte d'absence des agents est respectée. L'agent 1 est hors du coup du fait de l'absence du lundi.
4- Le tirage aléatoire est double. La première fois est tirée la cellule définisant le jour et la plage, la seconde fois est tiré l'agent qui sera de permanence.
5- Compte tenu des contraintes, le délai de réalisation du planning peut prendre quelques secondes.

A voir si cela correspond à ton projet de planning.
 

Pièces jointes

  • TestPlanningV1.xls
    50 KB · Affichages: 85
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Liste aléatoire noms avec doublon possible 1 fois et contrainte d'un jour

Bonsoir

Une solution par formule matricielle dans le tableau encadré en rouge dans les pièces jointes.

On n'obtient pas, à cause des contraintes, la solution du premier coup (les personnes disponibles le jeudi et/ou le vendredi ont déja travaillé deux fois dans la semaine). Par conséquent, il faut appuyer sur F9 plusieurs fois juqu'à l'obtention d'un tableau ne contenant pas de message #NOMBRE. Quelques exemples de possibilité sont donnés en dessous.

Les deux fichiers utilisent la même formule, mais dans celui finissant par nom, la partie répétée dans la formule a été nommée listeligne. Soit, en K2
Code:
{=INDEX(INDIRECT(K$1&"1");PETITE.VALEUR(listeligne;ALEA.ENTRE.BORNES(1;SOMME(1*(listeligne<>1000)))))}
en matriciel donc.

@ plus
 

Pièces jointes

  • test1 pastyl60.xlsx
    19 KB · Affichages: 53
  • test1 pastyl60 nom.xlsx
    18.6 KB · Affichages: 60
Dernière édition:

patsyl60

XLDnaute Occasionnel
Re : Liste aléatoire noms avec doublon possible 1 fois et contrainte d'un jour

Bonjour à tous,

Merci pour vos réponses. Mon choix se portera sur la macro de CBernardT qui correspond le plus à mon attente.

Dans mon post, j'avais une contrainte de plus oubliée lors de ma demande. Pas 2 permanences le même jour pour le même agent. Il semble que cette contrainte soit gérée par la macro de CBernardT.

Je fais un test grandeur nature au travail cette semaine et je reviens vers vous pour vous tenir au courant.

Encore merci pour votre aide et votre investissement sur ce forum.

Bon dimanche.

Patsyl60
 

Discussions similaires

Statistiques des forums

Discussions
312 234
Messages
2 086 472
Membres
103 226
dernier inscrit
smail12