XL 2021 Aide macro / nettoyage fichier

sebastianbl

XLDnaute Nouveau
Bonjour,

Suite à un précédent message (https://excel-downloads.com/threads...ontrol-activex-resolu.20084662/#post-20661960), j'ai récupéré un fichier pleins de macros non fonctionnel (macro- copie.xlsm). J'ai réussi à avancer un peu en transférant les macros dans un nouveau fichier (macros fichier test.xlsm) avec une mise en page un peu différente tout en nettoyant des macros qui étaient en doublon dans d'autres modules.
Je pensais avoir réussi à modifier les macros avec les nouvelles références de cellule / range, mais je n'arrive pas à faire fonctionner toutes les macros du module 2

Ce qui marche:
Sub suppscore()
Sub toutSupprimer()
Sub SwitchTerrain1()
Sub SwitchTerrain2()
Sub SwitchTerrain3()
Sub SwitchTerrain4()
Sub SwitchTerrain5()
Sub SwitchTerrain6()
Sub SwitchTerrain7()

Ce qui bug:
Sub melangerJoueurs()
Sub shuffle()
Sub renseignerLeTerrain(listeJoueurs)
Sub placerJoueurs(listeJoueurs)
Sub recupererLesScores()
Sub highlighterLesGagnantsPtsParGame()
Sub highlighterLesGagnantsPtsTotal()

Ce que je ne comprend pas / ne sais pas ce que cela doit faire:
Sub cadre()

Est ce que je pourrais avoir un petit coup de main svp pour retrouver un fichier qui fonctionne ?
Il y a pas mal de commentaires dans le code, mais si besoin pour clarifier le principe du fichier, voici un résumé:
tournoi jusqu'à 200 personnes en paire vs paire
faire en sorte que personne ne rencontre 2 fois le même adversaire
ce qui ne jouent pas le tour actuel sont prioritaires pour le tour suivant
tout le monde doit jouer le même nombre de match
le classement se fait par le nombre de point marqué par chacun, ou si nombre de matchs inégaux, par la moyenne des pts / match

Merci d'avance!!

PS: merci à @sylvanu et @jurassic pork pour leur aide précédemment!
 

Pièces jointes

  • macro- copie.xlsm
    77.3 KB · Affichages: 2
  • macros fichier test.xlsm
    90.6 KB · Affichages: 4

sebastianbl

XLDnaute Nouveau
wow! C'est formidable ce que tu as pu faire en si peu de temps, je ne m'attendais pas à un truc aussi bien du premier coup!!
merci beaucoup!!!

A première vue (j'ai fait 6 tours), tout semble fonctionner comme cela devrait. J'ai néanmoins quelques questions / souhaits:

1. sur le podium, est ce possible de ne mettre que ceux qui ont joué au moins 1 tour?
par exemple, j'ai cela sur TOURNOI
1728547006965.png

mais 198 apparaît quand même sur le podium:
1728547045433.png



2. Serait-il possible d'enregistrer non pas le tour mais le match afin de pouvoir en lancer un autre plus rapidement? Cela éviterai d'attendre que tous les matchs sur les 7 terrains se terminent avant de pouvoir lancer le prochain.


3. Enfin, serait il possible d'ajouter une autre variable lors de la composition des paires?
Idéalement via une colonne après la colonne P qui indiquerait (manuellement) si le joueur est "loisirs", "confirmé" ou "expert" et faire en sorte que lors de la composition des paires, on se retrouve uniquement ces combinaisons là:
1728548330472.png

Cela serait même formidable que cette table soit éditable, c'est à dire qu'on pourrait l'ajuster selon le type de tournoi effectué ou la participation: pour certains événements, ça pourrait être ok pour toutes les combinaisons, pour d'autres, être plus restrictif.

Bien sûr je ne voudrais pas abuser de ton temps, ce que tu as fait pour moi/notre association est déjà incroyable!
 

Pièces jointes

  • 1728547555811.png
    1728547555811.png
    8.3 KB · Affichages: 2

AtTheOne

XLDnaute Accro
Supporter XLD
Bonjour à toutes & à tous, bonjour @sebastianbl
Merci pour ce retour enthousiaste 🙂 !

Bon pour ta demande N°1 c'est corrigé du moins je pense :
Enrichi (BBcode):
=SI(NB(Tb_Tournoi[Pts / Tour])=0;
                "-";
               FILTRE(Tb_Tournoi[Joueurs];(Tb_Tournoi[Sexe]=$A$1)*
                                          (Tb_Tournoi[Nb Joués]>0)*
                                          (Tb_Tournoi[Pts / Tour]=INDEX(TRIER(UNIQUE(FILTRE(Tb_Tournoi[Pts / Tour];Tb_Tournoi[Sexe]=$A$1));;-1);B$2));
                                           ""))
(sexe en $A$1, Rang en B$2)

Pour ta demande N°2, c'est presque déjà le cas (si un matche ne comporte pas de score, il n'est pas enregistré),
mais il me faut modifier le tirage pour ne sortir qu'un matche est l'enregistrer sur un terrain libre (celui ou ceux qui viennent de se libérer) il me faut regarder de plus près.

Pour ta demande N°3, il faut que je réfléchisse, ça conditionne pas mal le tirage des adversaires, bon je regarde.
Par contre ta grille est incomplète il manque les équipes "Confirmé | Confirmé" :
1728555688763.png


Je te joins le fichier modifié
À bientôt
 

Pièces jointes

  • Tournoi Bad AtTheOne.xlsm
    96.2 KB · Affichages: 1
Dernière édition:

AtTheOne

XLDnaute Accro
Supporter XLD
Re
J'ai oublié de corriger une partie de la formule
Enrichi (BBcode):
=SI(NB(Tb_Tournoi[Pts / Tour])=0;
    "-";
    FILTRE(Tb_Tournoi[Joueurs];
          (Tb_Tournoi[Sexe]=$A$1)*
          (Tb_Tournoi[Nb Joués]>0)*
          (Tb_Tournoi[Pts / Tour]=INDEX(TRIER(UNIQUE(FILTRE(Tb_Tournoi[Pts / Tour];
                                                           (Tb_Tournoi[Sexe]=$A$1)*
                                                           (Tb_Tournoi[Nb Joués]>0)
                                                            )
                                                      );
                                              ;-1);
                                       B2));
                                ""))
Sexe en $A$1 et Rang en B2)
Voir pièce jointe
 

Pièces jointes

  • Tournoi Bad AtTheOne.xlsm
    99 KB · Affichages: 2
Dernière édition:

sebastianbl

XLDnaute Nouveau
Pour ta demande N°2, c'est presque déjà le cas (si un matche ne comporte pas de score, il n'est pas enregistré),
mais il me faut modifier le tirage pour ne sortir qu'un matche est l'enregistrer sur un terrain libre (celui ou ceux qui viennent de se libérer) il me faut regarder de plus près.

Juste une réflexion:
est ce que cela ne serai pas plus simple au lieu d'avoir un bouton "enregistrer le tour" avoir plutôt un bouton "enregistrer match" sur chacun des terrains?
Peut être avec un deuxième bouton "nouveau match" pour en lancer un nouveau sur ce terrain?

1728570789808.png
 

AtTheOne

XLDnaute Accro
Supporter XLD
Re
Je suis en cours de réflexion sur le sujet :

Regarde le fichier joint en cour de modification, lorsque l'on saisit le score sur un terrain un message propose d'enregistrer le score et de faire un nouveau tirage sur ce terrain. (choix non actif)

La difficulté (mais sans doute pas insurmontable) est de gérer plusieurs tours en cours. Surtout pour les absents car je renseigne actuellement la valeur "A" pour tous les absents lorsque j'enregistre le tour entier.
Je te propose d'enregistrer cette absence dès qu'un nouveau tour commence sur un terrain.
L'absent revenu devra attendre le début d'un nouveau tour pour espérer être tiré au sort.
Supposons qu'il revienne juste après que le 1er match du tour n soit tiré, il devra attendre la fin de tous les match de ce tour n pour entrer dans la liste des joueurs présents pouvant être choisis.

Je ne sais pas si je suis clair !

Regarde le fichier (attention tout n'est pas fonctionnel et je ne suis pas encore arrivé au pb des niveaux à équilibrer)
À bientôt
 

Pièces jointes

  • Tournoi Bad AtTheOne.xlsm
    102.6 KB · Affichages: 2

sebastianbl

XLDnaute Nouveau
Re
Je suis en cours de réflexion sur le sujet :

Regarde le fichier joint en cour de modification, lorsque l'on saisit le score sur un terrain un message propose d'enregistrer le score et de faire un nouveau tirage sur ce terrain. (choix non actif)

La difficulté (mais sans doute pas insurmontable) est de gérer plusieurs tours en cours. Surtout pour les absents car je renseigne actuellement la valeur "A" pour tous les absents lorsque j'enregistre le tour entier.
Je te propose d'enregistrer cette absence dès qu'un nouveau tour commence sur un terrain.
L'absent revenu devra attendre le début d'un nouveau tour pour espérer être tiré au sort.
Supposons qu'il revienne juste après que le 1er match du tour n soit tiré, il devra attendre la fin de tous les match de ce tour n pour entrer dans la liste des joueurs présents pouvant être choisis.

Je ne sais pas si je suis clair !

Regarde le fichier (attention tout n'est pas fonctionnel et je ne suis pas encore arrivé au pb des niveaux à équilibrer)
À bientôt
ca serai très bien aussi comme solution. Et si on clique "annuler" le terrain reste vide, ca serait utile pour finir ce tournoi.
Les 2 solutions me vont, fait ce qui te semble le plus simple à mettre en oeuvre!
Merci merci merci!
 

Statistiques des forums

Discussions
314 190
Messages
2 106 991
Membres
109 733
dernier inscrit
chardou