Gestion d'un tournoi selon le système suisse

wikipedia : Le système suisse ou système de tournoi suisse est un type de tournoi couramment utilisé dans les compétitions d'échecs et dans d'autres jeux où les joueurs ou les équipes doivent s'affronter deux à deux. Ce type de tournoi a été utilisé la première fois à Zurich en 1895, d'où son nom de « système suisse ». Il s'agit d'une méthode d'appariement permettant d'organiser des tournois regroupant un grand nombre de protagonistes en un nombre de confrontations réduit.

(...) Le principe du tournoi suisse est que chaque joueur sera opposé à un adversaire qui a fait, jusqu'à présent, aussi bien (ou mal) que lui.

le classeur en fichier joint propose une gestion de tournoi selon ce système

edit 22/01/2015 :nouvelle version qui corrige le bug signalé par Gux (voir ci-dessous)

edit 15/03/2015:nouvelle version (V3) qui permet, à la réouverture du fichier, de continuer ou non, les parties en cours (cfr message de pfisoz ci-dessous).

edit 18/09/2015 : nouvelle version (V5) qui permet de gérer des scores supérieurs à 9, et d'introduire un score par défaut pour le match "bye" et de modifier les matches générés si souhaité (cfr message de Darss ci-dessous)

edit 14/10/2021: nouvelle version (V6) qui corrige certains bugs (crash lors de l'introduction d'un score non valide, comptage des points)

edit 16/10/2021: nouvelle version (V7) qui corrige certains bugs (dont crash à la réouverture)

2'285tournoi-suissev7.xlsm (41.58 Ko)

Bonjour h2so4,

je me permet de déterrer ce sujet de plus d'un an, pour un petit retour sur la feuille de calcul qui m'intéresse fortement !

Après avoir testé de long en large, j'ai remarqué un petit bug à partir d'un certain nombre de joueurs (au premier tour) voir image en pièce jointe.

Voila, c'est juste pour info sinon bon travail, des fichiers comme ça ne sont pas légion sur le net

bug tournoi suisse

bonjour Gux,

Merci pour ton retour et ton expertise à détecter les bugs.

De rien, c'est peut-être que j'ai l'habitude d'en faire (des bugs) (mais dans un autre langage)

Je suis intéressé par une version corrigée à l'occasion. J'avoue ne pas maîtriser pour le corriger de moi même.

Je garde un œil sur ce post !

Merci !

version corrigée (V2) mise à disposition (voir premier message du post)

Bonjour,

En cherchant une application pour un tournoi de tennis avec système suisse. Je suis tombé sur votre application qui est exactement ce que j'avais envie de développer.

Après quelques essais je tombe sur le problème suivant: la variable tour qui mémorise le numéro de la ronde ne fonctionne plus lorsque je ferme le classeur. Les nouveaux tour créés après chaque ouverture recommencent à 1.

Comme mon tournoi va se dérouler pendant 4 mois je suis obliger de fermer ouvrir le classeur.

J'utilise excel 2007.

Merci d'avance pour votre aide.

Bonsoir,

Version adaptée (V3) mise à disposition dans le premier message.

Merci bien, service super et très rapide. J'avais essayer de sauvegarder la variable tour dans une cellule pour la reprendre à l'ouverture mais pas évident sans expérience VB.

Votre solution convient bien. Je vais profiter d'essayer de regarder le code et ainsi apprendre sur un exemple concret.

Meilleures salutations

Super fichier !

J'aurais deux questions.

Si on voulait pouvoir modifier les adversaires à chaque ronde en les notifiant via des menus déroulants dans les colonnes adjacentes par exemple, serait-ce possible ? (par exemple si on veut que deux joueurs se jouent absolument à ce tour).

Si on voulait changer le classement en tenant compte d'autres critères comme par exemple au tennis le nombre de victoires mais également le nombre de sets gagnés et le nombre de points gagnés, pourrait-on se rajouter des critères ?

Merci beaucoup en tout cas.

darss a écrit :

Super fichier !

merci

Si on voulait pouvoir modifier les adversaires à chaque ronde en les notifiant via des menus déroulants dans les colonnes adjacentes par exemple, serait-ce possible ? (par exemple si on veut que deux joueurs se jouent absolument à ce tour).

c'est possible au premier tour en demandant un tirage ordonné et en adaptant l'ordre des joueurs dans la liste des joueurs, après cela déroge au principe du système suisse. J'ai cependant inclus cette possibilité dans la version 5.

Si on voulait changer le classement en tenant compte d'autres critères comme par exemple au tennis le nombre de victoires mais également le nombre de sets gagnés et le nombre de points gagnés, pourrait-on se rajouter des critères ?

il te suffit d'imaginer un système de scores qui intègre ces différents critères par exemple

3000 points pour une victoire en 2 sets

2000 points pour une victoire en 3 sets

1000 points pour une défaite en 3 sets

0 points pour une défaite en 2 sets

auxquels tu ajoutes le nombre de jeux gagnés

donc

3012 victoire en 2 sets avec 12 jeux gagnés

un score de 6-3,6-4

donnerait un score de 3012-0007

un score de 1-6,7-5,6-3

donnerait un score de 2014-1014

j'ai mis une version 5 dans le message initial.

Je suis impressionné par une telle célérité dans la réponse.

Je n'ai pas le temps matériel de regarder en détail, pour l'instant.

Je reviendrai après avoir testé.

Cependant, le programme a bloqué à certaines phases, je ne sais pas trop pourquoi.

Il semblerait aussi que pour les menus déroulants qui permettent de changer les noms, il manque les '$' pour avoir la liste complète à chaque menu déroulant.

Si le programme bloque pour cause de fausse manipulation, il vaut mieux avoir sauvegardé avant sinon on ne peut pas revenir en arrière. C'est bien ça ?

Enfin, petits détails explicatifs supplémentaires d'une ronde suisse :

- à la première ronde, tirage au sort aléatoire des matchs si on ne connaît pas la force des participants ou si tout simplement on souhaite commencer comme ça.

- encore à la première ronde, si on connaît la force des participants, il serait dommage que les deux meilleurs se jouent de suite. On les classe donc sur une même échelle puis on divise en deux groupes. Le 1 du groupe 1 joue le 1 du groupe 2, le 2 du groupe 1 joue le 2 du groupe 2 et etc... Il y a donc un écart similaire pour chaque match

- toujours à la première ronde, on peut diminuer l'écart des matchs si on a peu de rondes par rapport au nombre de joueurs, on parle de système accéléré. On divise en 4 groupes et le 1 du 1 joue le 1 du 2, le 2 du 1 joue le 2 du 2, etc... et le 1 du 3 joue le 1 du 4, le 2 du 3 joue le 2 du 4, etc... Les joueurs du groupe 1 et 2 ont un point fictif ajouté (n'apparaît pas dans le classement)

à la deuxième ronde, les vainqueurs 1-2 se jouent car ils ont deux points (un fictif), les perdants 1-2 et les gagnants 3-4 sont ensemble avec un point (ceux du groupe 2 ont un point fictif) et enfin, avec 0 point, les perdants de 3-4 se jouent.

à la troisième ronde, les points fictifs disparaissent et on continue normalement.

- enfin, aux rondes 2 et suivantes, il faut essayer d'accorder des joueurs ayant le même nombre de victoires. Si un joueur doit jouer avec un autre groupe que le sien (nombre différent de victoire), sur une ronde suivante il faut le privilégier pour qu'il joue avec son groupe. Et si deux joueurs seulement se retrouvent à égalité et qu'ils se sont joués, c'est le gagnant de leur match qui est devant au classement. Parfois, il peut être intéressant de changer un match pour une raison quelconque d'où l'idée d'avoir la main sur les rencontres.

Merci. Je regarde ça et reviens au plus tôt.

bonjour,

mise à disposition d'une version 6, qui corrige quelques bugs. voir début du post

Merci pour votre nouvelle moûture.

Cordialement.

Bonjour,

J'ai testé la nouvelle version qui fonctionne bien tant que l'on ne ferme pas le fichier. A la réouverture il affiche le message "partie en cours trouvée, continuer ?" que l'on réponde oui ou non il y a un bug dès l'enregistrement du premier résultat.

Je joins le fichier en cours.

Donc si vous avez l'occasion ...

Cordialement.

bonjour,

nouvelle version (V7) disponible.

Version opérationnelle, merci pour cette intervention très rapide et efficace.

Je vais pouvoir proposer une nouvelle formule pour les "petits" tournois mensuels de notre association.

Cordialement.

Bonjour h2so4,

Je cherche à organiser un tournoi avec la particularité suivante :
- Les participants se rencontrent par 4 (c'est des courses)
- le premier prend 1 pt, le deuxième 2, 3è=3pts, 4è=4pts
- je pensais aussi mettre des malus (ne finit pas = 4.5pts; ne prends pas le départ = 5pts et disqualifié 6pts)
- Le classement finale est fait aux points (le meilleur a le moins de points)
Le système Suisse peut-il organiser ce type de rencontre??
Merci d'avance

Bonsoir,

le système suisse est prévu pour des rencontres face à face, pas pour des courses.

On pourrait imaginer un système semblable pour des courses. Il s'agira d'une nouvelle application. Comment vois-tu la sélection des 4 participants à chacune des courses (sur base de quels critères) ?

Pour le premier tour, on utilise le classement des participants par une qualification chronométrée.
Actuellement je prends un du premier quart du classement qui rencontre un de chaque autre quart.

Exemple : Run 1 : 1er - 17ème - 48ème - 64ème (Pour 64 inscrits)

J'imaginais faire de même à chaque tour.

Bonjour,

Suite à votre version 7 j'ai testé sur 4 tours avec un score de 1013 au vainqueur. Albert qui a gagné les 4 a un score de 4053 or il devrait avoir 4052 (1013x4). De même je n'arrive pas à reconstituer le score de 171 de ses adversaires.

Qu'en pensez-vous ?

Merci par avance, cordialement.

Rechercher des sujets similaires à "gestion tournoi systeme suisse"