Automatiser un système de Championnats
Bonjour, c'est la toute première fois que je vais poster une question sur un forum alors je m'excuse par avance si je m'y prends de la mauvaise façons..
Mais comme indiqué dans le titre, je me suis mis à créer un Excel pour avoir un classement avec mes amis concernant un jeu auquel sur lequel on s'affrontent. Et ce jeu est Pokémon Pocket.
Avant de vous exposé les difficultés que je rencontre, je voudrais vous expliquez ce que je souhaite réaliser et ce que j'attends de ce classement automatisé. Car j'ai déjà commencé ce fichier Excel, il est déjà alimenté mais il n'est vraiment pas optimisé. Et je voudrais le "cleaner" et le rendre le plus facile d'utilisation et automatique possible.
Alors. L'idée du Championnat que je veux réaliser se distingue en 2 parties :
- Première partie, des Championnats Mensuels. Tous les mois, nous organisons un Championnat où on s'affrontent tous 1 fois. Le nbr de participants peut varier d'un Championnat à un autre. Chaque affrontement se déroule en BO 2. Il faut alors deux 2 victoires contre 1 joueur pour le gagner. Ce qui peux nous offrir des affrontements en 3 matchs maximum (ex: A vs B -> 3-1 / 2-4 / 3-0. Ici A gagne 2 matchs tandis que B 1 seul. Victoire de A). Au cours d'un championnat mensuel, un classement en ressort. Et la position à laquelle vous terminez vous rapporte des points. Plus vous vous êtes classés haut, plus gagnez des points (Un peu à la manière de Mario kart, le 1er gagne 15 pts, le 2ème gagne 12 pts, le 3ème 10 pts et ainsi de suite...). Puis, une fois que ce championnat est terminé, on en commence un nouveau pour le mois suivant. Et on compte faire ça jusqu'à la fin de l'année. Donc on prévoit 12 championnats (Pour ceux qui jouent au jeu, chaque nouveau championnat nous permet d'inclure les nouvelles extensions de carte qui sortent mensuellement).
- La deuxième partie est plus simple à gérer. En effet, c'est ce que j'ai appelé le Classement Général. C'est ici que je cumul tous les Scores obtenus par les classement aux différents championnats. Et cela nous donne alors un Tableau Final qui à la fin de cette année nous permettras de savoir qui à été le meilleur duelliste entre nous tous pour 2025 !
Là où je rencontre le plus de problèmes c'est dans la 1ère partie ; les Championnats Mensuels. Car pour classés les joueurs entre eux au fur et à mesure d'un Championnat, j'ai décidé de ne pas attribué de points de Victoires (ex : 3pts pour Victoire / 1 pt pour Nul / O pt pour Défaite). Je trouvais que ça n'avais pas de sens avec le fonctionnement des Championnats en BO 2 car il n'y a jamais de match nul. En revanche, j'ai décidé de prendre en compte le nbr de Victoires et la Différence de Points (Points marqués - Points Encaissés) pour classés les joueurs entre eux. Et ce fonctionnement à quelques limites..
Effectivement, par exemples :
1 - Un joueur gagne sa rencontre mais leurs Différence de Points est identiques : A vs B -> 3-1 / 0-3 / 1-0. Ici, A gagne 2 matchs donc il est déclarer vainqueur de la rencontre mais sa diff de points étant de 3+0+1= 4 pts, elle est égale à son adversaire 1+3+0= 4 pts. Donc victoire de A sans prendre de points.
2 - Un joueur gagne sa rencontre mais perd des points : C vs D -> 1-0 / 0-4 / 3-2. Ici, C gagne 2 matchs donc il est déclarer vainqueur même si il perdras des points car 1+0+3= 4 pts alors que D marqueras 0+4+2= 6 pts. Donc C gagne mais perd 4-6= -2 pts sur sa différence de Points.
3 - Les cas suivants me permettent d'illustrer ce qui s'est déjà produit. Pour éviter qu'Excel n'affiche la même personne 2 fois dans le Tableau en cas d'égalité, j'utilisais jusque là une formule pour faire un "Rang Composé" qui prend en compte l'ordre alphabétique. Cela me permet en théorie d'éviter les égalités quand je calcule mes "Nv. Rang Composé" et d'afficher correctement les bons noms de joueurs aux bons endroits dans le Tableau des scores d'un championnat. Cependant, lors d'un championnat, je me retrouve avec 2 joueurs qui terminent avec le même nbr de Victoires et Défaites et également la même différence de Points. Et si dans la logique, je voudrais que la victoire directe entre ces 2 joueurs les départagent (si A et C ont le même nbr de Victoires/Défaites et la même Différence de Points mais que A a gagné C, alors A doit terminer devant C au classement final). Dans la pratique, ça n'a pas été le cas. Car l'ordre alphabétique des deux joueurs en question à classé le perdant de leur rencontre au-dessus du gagnant (Donc C devant A). Et pour le moment, au vu de la manière dont j'ai choisis de remplir les scores des matchs, il m'est impossible de résoudre cette histoire de victoire direct par des formules...
Et c'est là que la difficulté se fait sentir car comme je n'ai pas beaucoup de compétences sur Excel, j'ai procédé de la manière suivante :
J'ai pensé qu'il fallait que je créer un tableau de rencontres par joueurs et pour chaque Championnat Mensuel où j'y inscrit les Victoires, les Défaites, les points marqués, les points encaissés. Le problème est que je dois rentrer le résultat d'un même match 2 fois ! (ex : Match A vs B. Je dois écrire le même score une fois pour le tableau de A et une autre fois pour le Tableau de B).
Un calcul me sort le cumul de la différence de Points de chaque joueurs. Puis dans des tableaux annexes, j'utilise les formules RANG pour classé le nbr de Victoires, Défaites et Différence de Points de chaque joueur. Je calcule ensuite un Rang Composé = nbr Victoires + Diff. Points/10. Après avoir les Rang Composé de tous les joueurs, je réutilise RANG pour obtenir le Rang Final par rapport à ce Rang Composé. Et enfin, je calcule un Nv. Rang Composé = Rang Composé + Rang Final/100 + Ordre Alphabétique/1000.
Alors, pour classé dans l'ordre du 1er au Dernier dans un dernier tableau annexe, j'utilise la fonction PETITEVALEUR qui me permet d'afficher les Nv. Rang Composé dans l'ordre croissant. Et avec la fonction RECHERCHEV, je recherche le Nv. Rang Composé dans le tableau annexe précédent pour afficher les Noms des Joueurs, nbr de Victoires, Défaites et Différences de Points correspondant. Et finalement j'obtiens le classement que je désire.
C'est donc assez laborieux pour un résultat pas si bien automatisé que ça (doit rentrer chaque matchs 2 fois !) et qui ne préviens pas certains cas particuliers... Surtout que comme les participants changent à chaque championnat car parfois certains n'ont pas le temps de jouer et rate un championnat puis reviennent pour un prochain. Parfois nous sommes 9 joueurs et au prochain nous sommes 11 joueurs. Ce qui m'oblige à recréer mes tableaux par joueurs pour chaque championnat et cela me prend un peu de temps qui j'en suis convaincu pourrait être éviter !
En me renseignant de mon côté, j'ai vu apparaître des concepts comme des Tableaux dynamiques, l'utilisation de la fonction SI, INDEX. Les mots Macro et VBA sont également apparus sur mon écran... Mais j'avoue que ça dépasse grandement mes capacités sur Excel et les tuto qui expliquent ces "solutions" ne se rapportent pas à des exemples sportifs mais plutôt à des gestions de budgets ce qui m'embrouille un peu...
Bref. Désolé par avance si ce post est trop long mais j'ai voulus donner le plus d'explications possible pour recevoir de l'aide. Je reste persuadé qu'il y a une bien meilleure manière d'automatisé mon système de Championnats mensuels, je ne l'ai pas encore trouver ou comprise donc je viens ici vous demander conseils.
Merci par avance.
Bonjour,
la longueur de votre message risque d'en rebuter plus d'un.
Essayez de joindre un fichier, expliquez ce qui coince et procédons par étape.
Bonjour,
Vous avez raison de je vais en refaire un, synthétiser, mettre mon fichier et faire bcp plus court !
Et au pire j'y mettrais le lien de celui-ci si quelqu'un veut des explications plus détaillés
Voilà : https://forum.excel-pratique.com/excel/systeme-de-championnats-sur-pokemon-pocket-199591
C'est mieux je crois