Bonjour,

Suite à mon questionnement on m'a redirigé ici. Je réécris ma recherche. J'ai commencé à apprendre vba pour excel et je me suis mis en tête de mettre au point un système de ronde suisse pour un nombre variable de joueurs entre 2 et 32 histoire de mettre en pratique ce que j'apprends sur mon temps libre.

J'ai déjà toutes mes feuilles prêtes en ce qui concerne les différentes formules pour gérer les rencontres et le classement qui en découlera. Une feuille par ronde

J'ai réussi à automatiser la ronde 1, bon ok c'est la plus simple vu que je pars sur un tirage aléatoire entre les participants. J'ai mis un peu de temps pour tout mettre en place mais comme indiqué plus haut, je me suis entêté

Par contre, je bloque sur la ronde 2 (et les suivantes mais ça devrait être presque identique pour les rondes suivantes) qui doit prendre en compte ce qui suit:
- chaque joueur ne peut se rencontrer que une fois maximum sur toute la durée du tournoi (j'ai mis en place un tableau qui inscrit un 1 au croisement de ligne et colonne des joueurs qui se sont rencontrés pour l'aspect visible en un clin d'oeil, je me demande si je ne devrais pas créer une matrice à 2 dimensions et remplir par un 1 les rencontres, ça servirait pour contrôler si les joueurs ne se sont pas déjà rencontrés par la suite)
- le premier rencontre le second puis le troisième rencontre le quatrième etc...
- si le 1er et le 2nd se sont rencontrés, je prend le 3ème, je vérifie et si ok je passe au match suivant et ainsi de suite
- pour trouver les joueurs restants, je pense utiliser une matrice à une dimension et en bouclant je devrais pouvoir m'en sortir enfin je crois.

Je pense que cela parait possible sur le papier pour les rondes 2 voir 3 mais sur les rondes suivantes si il ne me reste plus que 2 joueurs qui ont préalablement joué ensemble, je ne vois pas comment relancer le calcul (peut-être en partant du bas du classement)
5 rondes pour 32 joueurs (plus il y a de joueurs moins le problème devrait être présent)
4 rondes pour 16 joueurs
3 rondes pour 8 joueurs
2 rondes pour 4 joueurs (ici pas vraiment de sujet sauf si match nul sur 1 ou les 2 matchs)

Auriez-vous une idée d’algorithme efficace pour gérer les rondes suisses en fonction du classement?