Répartition noms par équipe selon max par équipe

Bonjour à toutes et à tous,

J'aimerai pourvoir distribuer aléatoirement un ensemble de personnes par équipe de 4 maximum

J'ai commencé à saisir les variable de mon code, puis je me suis dit que ce forum est un puit de science
et qu'il ne fallait peut-être pas que je perde mon temps sur quelque chose qui a déjà été fait

J'ai effectué une recherche qui n'a rien donné (certainement pas les bons critères )

Alors si quelqu'un pouvait m'aider et j'en suis certain, ce serait super

Voici le fichier avec les données et les paramètres calculées sauf le nombre de personnes max par équipe
Par avance merci

bonjour,

une proposition,

Bonjour,

Via formule en B2 ?

=LET(nbJ;LIGNES(A2:A49);
tblAlea;PRENDRE(UNIQUE(TABLEAU.ALEA(nbJ*10;1;0;100));nbJ);
groups;MAP(TRIER(tblAlea);LAMBDA(indx;EQUIVX(indx;tblAlea)));
groups2;TRANSPOSE(ORGA.LIGNES(groups;4));
res;MAKEARRAY(nbJ;COLONNES(groups2);LAMBDA(r;c;SI(ESTERREUR(EQUIVX(r;CHOISIRCOLS(groups2;c)));"";1)));
res)

EDIT : Petite erreur dans la formule, il faut bien évidemment remplacer 4 par la valeur du max par équipe. Càd

=LET(nbJ;LIGNES(A2:A49);maxParEqp;Params!$A$4;
tblAlea;PRENDRE(UNIQUE(TABLEAU.ALEA(nbJ*10;1;0;100));nbJ);
groups;MAP(TRIER(tblAlea);LAMBDA(indx;EQUIVX(indx;tblAlea)));
groups2;TRANSPOSE(ORGA.LIGNES(groups;maxParEqp));
res;MAKEARRAY(nbJ;COLONNES(groups2);LAMBDA(r;c;SI(ESTERREUR(EQUIVX(r;CHOISIRCOLS(groups2;c)));"";1)));
res)

fichier corrigé

Re,

Ca c'est du illico presto

Un GRAND merci à vous 2 pour vos solutions qui fonctionnent sans problème

Je vais tout de même privilégier celle de h2so4 via macro car cela évite que les équipes soient changées à chaque ouverture du fichier
(je les connais les gaillards )

Rechercher des sujets similaires à "repartition noms equipe max"