XL 2016 Tirage au sort avec conditions

Pistoufle12

XLDnaute Nouveau
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
Supporter XLD
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 ;).
 

Pistoufle12

XLDnaute Nouveau
Merci Victor de ta réponse

cela me donnera effectivement le 1 er Duel mais pas les autres ou alors il faut que je reproduise un autre colonne Alea...

Mais par contre je n'ai pas les N° de poste ...

Je vais reflechir dans ce sens
 

Pistoufle12

XLDnaute Nouveau
Bonjour

j'ai essayé de gratter cette piste mais ca ne marche que pour le tirage des 1 er duels!

Moi il me faut déterminer instantanément tous les duels + arbitre + poste ...

Merci de votre aide
 

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.
 

Fichiers joints

Pistoufle12

XLDnaute Nouveau
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 Nouveau
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 Nouveau
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
 

Pistoufle12

XLDnaute Nouveau
Désolé de la bizarrerie de la demande

Manuellement, je le fait par tiers...

Sur le 1 er duel seulement les 2 premier 1/3 s affrontent et les autres arbitres...
Sur le 2 eme duel c est seulement les 2 dernier tiers qui s'affrontent ...
 

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:

Dranreb

XLDnaute Barbatruc
Joignez une version simplifiée et anonymisée.
Pour ma curiosité personnelle, puis-je savoir quel est le rôle de l'arbitre ?
 
Dernière édition:

Pistoufle12

XLDnaute Nouveau
L'arbitre compte et valide juste les poissons pris lors de chaque duels !
Je regarde pour vous faire un fichier simplifier
 

Dranreb

XLDnaute Barbatruc
Ça se présente plutôt bien je trouve, sur un petit fichier de test.
Je vais l'intégrer à votre classeur, si je peux homogénéiser le nombre de lignes qui séparent les paquets dans la feuille Fiche duels qualif (plus facile pour calculer les positions des éléments dans le tableau)
Remarque: je ne sais pas quoi mette dans la colonne "piquet", mais je peux y mettre le numéro de ligne dans la manche.
Si vous me dites qu'il doit être différent à chaque manche pour chaque joueur, je laisse tout tomber.
 

Fichiers joints

Pistoufle12

XLDnaute Nouveau
Merci c'est exactement ca !!!
et non le N° de poste on s'en fout c'est aléatoire le N°de ligne ca va très bien !!!

Le seul truc c'est qu'il faudrait pouvoir modifier le nombre de participant ...sachant que le nombre de poste est 1/3 des participants
 

Dranreb

XLDnaute Barbatruc
Pourvu qu'il soit multiple de 3, ça devrait pouvoir se faire. La procédure de tirage est déjà écrite dans ce sens.
En l'appelant, on lui transmet le nombre de joueurs et le nombre de tours.
 
Haut Bas