Tirage au sort des places et tables - tournoi de poker

Bonjour,

je suis dans l'optique pour mon loisir de créer un fichier de gestion de tournoi de poker qui permettra notamment de tirer au sort au départ les places et tables des joueurs inscrits.

Ayant quelques bases, j’ai commencé le fichier avec d’abord plusieurs feuilles :

DATA = Liste de joueurs pour garder une base de donnée

JOUEURS = Liste de joueurs inscrit au tournoi ainsi que deux colonnes permettant d’y inscrire la table et la position.

ECRAN PRINCIPAL = zone des boutons pour lancer les Userforms

TABLES = après tirage au sort, les joueurs sont listés par tables et par positions.

L’idée est qu’après avoir validé les inscriptions, je clique sur le bouton « Tirage des tables » qui ‘m’indiquera le nombre de joueurs inscrits.

Il me faudra alors indiquer le nombre de table et le nombre maximum de joueurs par table (6 joueurs par exemple, je mettrais 6 dans la Textbox).

C’est ici que mes compétences ont leur limite.

Je souhaite quand je clique sur tirage des tables et valider qu’un tirage au sort aléatoire se fasse entre les joueurs inscrits en fonction du nombre de tables et du nombre de joueurs. Si une ou plusieurs tables doivent avoir un joueur de moins, cela ne doit pas bloquer le processus de tirage au sort.

Une fois le tirage au sort validé, le tournoi commence.

Au fur et à mesure du tournoi il y aura des élimination. Si une table se retrouve avec beaucoup moins de joueurs qu’une autre table alors il faudrait procéder à un rééquilibrage. Je m’explique.

Si table 1 à 5 ont 6 joueurs et table 6 vient d’avoir 2 éliminés (siège 3 et 6) en même temps, alors ils ne sont que 4 joueurs. J’aurais éliminé ces joueurs en cliquant sur « éliminer un joueur » de l’écran principal et valider. Il faudrait alors qu’un joueur d’une des tables 1 à 5 soit transféré sur table 6 à une position vide (soit siège 3 soit siège 6) et que cela apparaisse par exemple sous forme d'une message box indiquant que "XXX a été transféré de table 3 siège 2 à table 6 siège 3" par exemple.

Ce sont les seules conditions (pas de comptage de stack pour équilibrer en stack moyen)

Je ne sais pas si cela est clair mais n’hésitez pas à me poser des question pour comprendre le cheminement ou de remettre en question les étapes.

Merci pour votre aide

bonne journée

ps : la mise en forme n'est pas importante ici. je saurais gérer cet aspect

bonjour Yoaaaan,

comme ceci ?

Bonjour Bart!

Merci beaucoup pour ta réponse. Effectivement tu as bien saisie ce que je souhaitais pour le tirage automatique des places. J'ai bien apprécié aussi la correction automatique en cas de mauvaise saisie du nombre de tables vs nombre de joueurs et l'astuce de tirer les joueurs et de les éliminer de ce tirage ensuite pour ne pas les reprendre.

Concernant la suite, je me suis dit que pour l'élimination et rééquilibrage des tables, plus j'y réfléchi et plus j'ai l'impression que cela sera (trop) complexe car il peut y avoir plusieurs cas de figure :

  1. Début du tournoi, un joueur sort. Il existe alors une différence de 2 joueurs entre la/les tables avec un plus grand nombre de joueur et la table avec le moins de joueurs. Alors un joueur de la/les tables ayant le plus de joueurs ira sur la table avec le moins de joueurs à une place vacante. Pour faciliter cet échange, je pensais que si un joueur de la table 6 position 2 sort, alors il sera remplacé par un joueur de la table 1 ou 2 ou 3 ou 4 position 2 si cela est plus simple à vérifier comme condition au lieu de retirer au hasard parmi les tables 1/2/3/4 un joueur entre les position 1 à 9 ici dans l'exemple.
  2. Le tournoi avance et le nombre de joueurs n'est plus suffisant ou est un multiple de joueurs max par table (que l'on a validé au tirage initial des places) inférieur au nombre de table dispo. Par exemple s'il reste 45 joueurs sur 6 tables et que l'on autorise 9 joueurs maxi par table alors on casse la table la moins grande pour replacer les joueurs aux tables les plus grandes et atteindre 9 joueurs par table sur 5 tables.

Pour visualiser la différence entre les tables, j'ai alors simplement préparer les valeurs avec un "nbval" des tables et une différence entre le "nbval" et le "min" des "nbval" (voir sur feuille ECRAN PRINCIPAL)

Ainsi si la diff est +2 sur une ou des tables alors un des joueurs de cette table devra aller sur une table à valeur 0.

J'ai déjà avancé un peu la macro pour cela mais vous verrez que mes limites de compétences sont vite atteintes encore une fois mais j'y ai laissé des commentaires de ce qui serait idéal en réalisation.

Merci encore pour les réponses qui me seront rapportées!

re,

dans la feuille "joueurs" vous pouvez choisir un "R" ou un "S" (en majuscule) pour éliminer une personne et puis la macro "redistribuer"

Merci à nouveau !

L'essence de ce qu'il faut faire est bien là! (je reste impressionner par l'aptitude à coder ce genre de requête! vous avez suivi une formation particulière pour avoir ce niveau?)

La seule modification que j'ai eu à faire est la ligne où je l'ai mise sous forme de commentaire afin de ne pas déplacer l'ensemble des joueurs des tables (les espaces vacantes doivent le rester si un autre joueur ne prend pas cette place (un siège est défini pour un joueur tant qu'il n'est pas bougé de table ou éliminé)

Range("Tournoi").Resize(30, 30).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp

je vais m'atteler désormais à mettre en forme le fichier et highlighter les joueurs qui se déplacent des tables via une msgbox ou autre.

Encore un grand merci pour ton aide. je ne peux mets pas encore résolu car je voudrais partager le fichier une fois finie pour que d'autres puissent également en profiter si besoin.

Rechercher des sujets similaires à "tirage sort places tables tournoi poker"