Gestion tournois de pétanque

Bonjour à tous,

Tout d'abord, merci pour l'accueil.

Me voilà tout nouveau :)

Ayant fait une licence en géomatique, j'ai quelques notions de codes (Python, mais ça date un peu ^^) et un ami vient de me solliciter car il souhaiterait pouvoir, à partir d'une liste de X joueurs, créer de façon aléatoire des équipes de 2 pour 4 ou 5 parties (pour chaque partie, aucun joueur ne doit se retrouver avec un joueur avec qui il aurait potentiellement déjà joué avant).

A l'issue, l'utilisateur rentrerais les scores pour chaque joueur dans une autre colonne.

A la fin, il faudrait finir par sortir un classement.

(Pour rappel, si un match est gagné 13 à 9, l'équipe perdante aura -4 points (13-9 en négatif).

J'ai commencé, à partir d'une macro de Sébastien que je tiens d'ailleurs à remercier, mais je bloque !

J'ai rajouté une ligne "Partie 1", "Partie 2" et depuis, ma première partie de code ne fonctionne plus tout à fait pour générer l'équipe de la première partie (la macro me prend aussi la valeur en B2 comme un joueur alors que c'est un nom de colonne..

Également, comment générer des équipes pour 4 ou 5 partie, sans faire deux fois une équipe identique ?

Je suppose que l'étape pour la macro de calcul se fera après cette première partie terminée.

Je regarde également si je ne peux pas le faire en python plus rapidement, mais ça s'annonce compliqué ^^

En vous remerciant pour toute aide qui pourrait être apportée.

Léandre

75listes-alea.xlsm (19.95 Ko)

Bonjour,

De mémoire l'ami Steelson a fait un fichier pour des rencontres entre personnes, basé sur un algo qui fait ça. Peut-être que la base sera plus proche de ce que tu recherches et plus facilement modifiable ?

Bonjour,

Merci pour ce retour, ce fichier est top !

D'ailleurs c'est un collègue avec qui j'ai travaillé qui l'a fait ^^ comme quoi le monde est petit !!!

Ce fichier permet de faire des tournois avec des équipes déjà formées.

Mon objectif est de pouvoir les former aléatoirement.

J'essaie donc de générer des équipes de façon aléatoire à partir d'une liste pour remplir la feuille 'CompositionEquipe' la colonne B.

Je viens de préparer une macro sur la feuille "TirageEquipe", afin de générer des équipes aléatoires sous la forme "Joueur 1 / Joueur 2".

Dans l'idée, ça fonctionne, mais un petit détail manque : Comme je boucle sur mon nombre de joueur, et que je choisis un joueur de façon aléatoire dans la liste, même avec un .Delete, ma boucle itérative prend en j1 ou j2 potentiellement des cellules vides.

Eh oui, puisque de 6 joueurs je passerais à 3 équipes donc 3 lignes à renseigner et plus 6 !

Que devrais-je corriger sur cette macro pour que mes variables j1 et j2 aillent chercher forcément un joueur encore disponible dans la liste ?

J'ai tenté un " tant que j1 est vide fais ça", mais ça plante ^^ donc ça doit pas être la bonne stratégie.....

Par avance merci :)

Léandre

Bonjour

Combien de participants environs pour ce tournoi en doublette avec tirage a chaque partie?

Crdlt

Bonjour,

je dirais environ une quinzaine d'équipes donc une trentaine de personnes.

J'ai peut être trouvé une autre solution :

1- faire un mélange aléatoire dans une autre colonne

2 - regrouper les joueurs en type "Joueur A & Jouer B" en prenant dans l'ordre des lignes puisque je les auraient préalablement mélangés

Je testerais ça dés que je pourrais

Cordialement,

Léandre

Bonjour

Si cela t’intéresse un fichier que j'ai monté.

Tu me dis si cela te convient

Cordialement

27tete-a-tete.zip (669.67 Ko)

Salut Joco,

Merci pour ton fichier, mais ce n'est pas l'objectif recherché par mon ami, qui est en équipe de 2 et non 1 contre 1.

J'ai bidouillé un peu ce matin, et j'ai sorti un truc pas trop mal.

J'ai réussi à partir d'une liste de joueur en colonne B :

- Les copier colonne C de façon temporaire

- Générer une liste colonne D mélangée (donc suppression des joueurs de ma colonne B pour pas avoir de même personne qui ressorte dans l'aléa)

- Remettre les joueurs initiaux dans la colonne B à partir de la C

- Créer des équipes à partir de ma colonne D mélangée mais là j'ai un hic...

J'ai réussis à faire ça :

D2 : Paul / Jason

D3 :

D4 : Margaux / Alexandre

D5 :

D6 : Joel / Magalie

...

Il faudrait maintenant que je supprime les cellules vides intermédiaires, mais je n'y arrive pas...

J'ai testé ça :

Dim cellule As Range

cellulefin = Range("E2").End(xlDown).Row

For Each cellule In ActiveSheet.Range("E2:cellulefin")
If cellule Is Nothing Or cellule.Value = "" Then
cellule.Delete xlUp
End If
Next cellule

Mais rien de concluant, ça me supprime tout...

J'ai voulu tester un If ("D" & ligne) = "" Then .... mais ça me supprime tout aussi ^^.....

Voilà mon fichier pour lire la macro si besoin (bon, beaucoup de For à la suite, c'est optimisable largement, mais vu que je débute, et au vu du besoin, je vais pas passer 1 semaine pour tenter de l'optimiser ^^)

Cordialement,

Léandre

Rechercher des sujets similaires à "gestion tournois petanque"