XL 2016 Tirage au sort avec conditions

Pistoufle12

XLDnaute Junior
Bonjour

J'ai besoins de vous pour organiser un tirage au sort avec conditions !

J'ai regarder sur le forum mais j'arrive pas a retrouver le même style de problématique

J'ai réussi à faire un tirage au sort simple de 12 concurrents (c'est pour les duel des demi finale on qualifie 6 finaliste ) avec une petite macro et un bouton

Mais par contre pour le tirage au sort du début de la compétition, je sèche et je fait ca à la main !

Je vous explique c'est pour des concours de pêche :

Des pécheurs (un multiple de 3) s'affrontent en duel sur un poste défini (nombre de poste =1/3 des participant) et un autre pécheur les arbitre (ca fait donc des trio)

Chacun fait 6 duels en pêche (+ 3 en tant qu'arbitre) contre des adversaires différent et cela créé un classement.
A l'issu de ce classement, je récupère les 12 premiers et je lance les phases finales mais la c'est bon !!

Le souci c'est pour automatiser le tirage des duels de départ car le nombre de pécheurs peut varier et il ne faut pas de doublon !!!!

il me faudrait :
pecheur X contre pecheur Y arbitré par pecheur Z sur poste 1
pecheur A
contre pecheur b arbitré par pecheur c sur poste 2
...

Merci d'avance de vos pistes
A bientôt
Pistoufle12

A bientôt
Christophe
 

Victor21

XLDnaute Barbatruc
Bonjour.

Si j'ai bien compris :
En colonne A, la liste de tous les pêcheurs devant l'Eternel.
En colonne B : = alea()
Triez A:B sur la colonne B, et prenez les trios à la suite ( Pêcheurs des lignes 1-2-3 sur poste 1, puis ceux des lignes 4-5-6 sur poste 2, puis ...)
C'est ce que je préconise pour des pêcheurs à la ligne ;).
 

Dranreb

XLDnaute Barbatruc
Bpnjour.
Au cas où ça pouvait se ramener à un tirage par poules simultanées à raison de 3 joueurs par poule.
Ou à défaut, des bases de programmation récursive à adapter au besoin.
 

Pièces jointes

  • ListeAléat.xlsm
    219.2 KB · Affichages: 36

Pistoufle12

XLDnaute Junior
Merci pour ce fichier très interessant

le tirage par poule simultané de 3 semble une bonne piste effectivement mais il y a un aspect bloquant

Quand je mets par exemple 27 joueurs par poule de 3 et 9 manches (6 en tant que pêcheurs et 3 en tant qu'arbitre ) ca bloque.
car le fichier spécifie "Ne figurent pas plusieurs fois ensembles dans une poule."

Alors que l'arbitre peut bien sur arbitrer des joueurs contre qui il a déjà péché !!

Il faudrait enlever cette notion sur la dernière colonne de la poule

Et après il me faudrait juste rattaché a ca le N° de poste et c'est gagné

Merci de vos conseils pour faire evoluer ca !!
 

Dranreb

XLDnaute Barbatruc
Ben essayez d'écrire une procédure du m^me style que celles pour les différents cas existants. Parce que là je n'ai pas encore bien cerné tous les éléments qui interdisent de choisir un certain joueur pour une certaine place, s'il peut être plusieurs fois arbitre des mêmes, et tout ça …
Mettez des tableaux 2D As Boolean pour noter si des évènements ne devant se produire qu'une fois ont déjà eu lieu. Pour les liens réciproques utilisez un tableau triangulaire (simulé par un tableau à une seule dimension mais dont l'indice est calculé par ma fonction XTria en fonction de 2 numéros différents spécifiés dans n'importe quel ordre)
 

Pistoufle12

XLDnaute Junior
Merci de vos explications, je vais regarder mais la ca dépasse mes compétences...

Pour les N° de postes c'est bon c'est réglé

Pour mieux vous expliquer:
Chaque participants fait 6 duels en tant que pécheurs et 3 autres en tant qu'arbitre
donc ca fait bien des Trio
les pecheurs ne doivent se rencontrer qu'une fois
mais par contre un arbitre peu arbitrer un pecheur qu'il a déjà affronter

Merci
 

Dranreb

XLDnaute Barbatruc
Vous n'en dites pas davantage que précédemment, notamment s'il peut arbitrer plusieurs fois un même joueur, rencontré ou non.
Je pense que non. Ça devrait ressembler à la Function TiragePSimOK sauf que dans la Function JoueurTrouvé, il faut changer la vérification du dernier tiré d'un groupe de 3: au lieu de vérifier s'il à déja rencontré un des deux autre il faut vérifier s'il n'en a pas déjà été arbitre (2ième tableau, 2D normal, pas triangulaire), et vérifier aussi le nombre de fois qu'il a déjà été arbitre, noté aussi dans un 3ième tableau, à une seule dimension, lui. Si chaque poste ne doit être occupé qu'une fois, il faut le vérifier aussi, mais je pense que ça fait alors trop de contraintes et qu'on trouvera rarement une solution.
 

Pistoufle12

XLDnaute Junior
Désolé, effectivement, je ne suis pas clair

oui il peut arbitré plusieurs fois un joueur déjà rencontré c'est pas un souci

Lors d'une manche 2/3 des concurrents pêchent l'autre 1/3 arbitre

Régle :

il faut que chaque concurrent pêche 6 fois sans jamais pêcher 2 fois contre le même
et qu'il arbitre 3 fois n'importe qui
 

Dranreb

XLDnaute Barbatruc
Ben allez y, faites votre programmation. Moi je n'y crois pas trop. Trop de contrainte pour si peu de participants.
C'est un peu à mi chemin entre les poules indépendantes et les poules simultanées.
Indépendantes dans la mesure où chacun doit participer 6 fois en tant que pêcheur
mais simultanées dans la mesure où deux pêcheurs ne peuvent être à deux endroits simultanément
 

Dranreb

XLDnaute Barbatruc
Je suis à votre disposition pour vous expliquer ce que vous ne comprenez pas dans la programmation des cas existants.
Moi je n'ai pas de classeur prévu pour ça, et vous n'en avez pas joint.
Ça peut aussi se faire en partant de poules simultanées de 2, ou même plus simplement le MTirage1vs1, en retirant préalablement les arbitres, choisis en premier, des joueurs disponibles dans chaque manche, tout comme on le fait dans la Function Tirage1vs1OK, mais en n'en retirant qu'un seul quand ils sont en nombre impaire.
 
Dernière édition:

Statistiques des forums

Discussions
311 711
Messages
2 081 799
Membres
101 818
dernier inscrit
tiftouf5757