Mélée triplette pétanque sélective
Bonjour,
Je fais partie d’un club de Pétanque et voici ce que sous souhaitons ;
Pour un concours de pétanque mélée, J’ai 24 joueurs ; 8 expérimentés, 8 moyens et 8 débutants.
Je dois réaliser 8 parties, ou chaque joueur expérimenté doit jouer au moins une fois avec un Moyen et au moins une fois avec un débutant, et tout le monde doit s’affronter.
J’ai donc réalisé les équipes suivantes manuellement,
E = Expérimenté, M = Moyen et D = Débutant.
De cette maniere tous les joueurs jouent au moins une fois avec tous les autres.
ce qui donne le résultat suivant ;
E1M1D1 E1M2D2 E1M3D3 E1M4D4 E1M5D5 E1M6D6 E1M7D7 E1M8D8
E2M2D1 E2M3D2 E2M4D3 E2M5D4 E2M6D5 E2M7D6 E2M8D7 E2M1D8
E3M3D1 E3M4D2 E3M5D3 E3M6D4 E3M7D5 E3M8D6 E3M1D7 E3M2D8
E4M4D1 E4M5D2 E4M6D3 E4M7D4 E4M8D5 E4M1D6 E4M2D7 E4M3D8
E5M5D1 E5M6D2 E5M7D3 E5M8D4 E5M1D5 E5M2D6 E5M3D7 E5M4D8
E6M6D1 E6M7D2 E6M8D3 E6M1D4 E6M2D5 E6M3D6 E6M4D7 E6M5D8
E7M7D1 E7M8D2 E7M1D3 E7M2D4 E7M3D5 E7M4D6 E7M5D7 E7M6D8
E8M8D1 E8M1D2 E8M2D3 E8M3D4 E8M4D5 E8M5D6 E8M6D7 E8M7D8
Le PB maintenant c’est de faire 8 parties avec ces équipes, mais je n’y arrive pas, il y a toujours un doublon dans une des catégories.
Si quelqu’un pouvait m’aider à réaliser les tableaux des parties, meme manuellement ce serait super.
Si il y avait la possibilité d’automatiser ce processus, l’ideal serait que cela fonctionne avec 24 joueurs (3 x 8 équipes), 30 joueurs (3 x 10 équipes), 36 (3 x 12 équipes) et 45 (3 x 15 équipes)
Merci par avance pour votre aide,
Cordialement,
Bonjour,
Je suppose qu'il s'agit de :
1) composer les équipes, par tirage parmi 3 listes (expérimentés, moyens, débutants)
2) définir les rencontres (tirage pour l'ordre) : 7 rencontres (8 équipes, chacune rencontrant tour à tour une des 7 autres, cela fait 7 rencontres) avec la configuration tirée au départ.
Aurais-tu un modèle de départ, listant les participants, répartis en 3 groupes ?
Cordialement.
Bonjour,
merci pour votre réponse,
prenons le cas suivant ;
Expérimentés : Quintais, Suchaud, Rocher, Lacroix, Dubreuil, Chagneau, Miléi, Fazzino
Moyens : Savin, Olmos, Besnard, Malbec, Gross, Sévilla, Darodes, Hureau
Débutants : Boucher, charcutier, garagiste, coiffeur, épicier, boulanger, journaliste, bistrotier
Le principe, pour la formation des équipes, est que chaque joueur expérimenté joue avec un joueur moyen et un joueur débutant, toujours différents.
idem pour les joueurs moyens, ils doivent jouer avec tous les expérimentés et tous les débutants.
idem pour les débutants, ils doivent jouer au moins une fois avec un expérimenté et un moyen mais toujours différents.
Donc pour que tous débutants jouent au moins une fois avec un expérimenté et un moyen, il faut 8 parties.
j'espere avoir été assez clair, car c'est un peu compliqué
merci pour votre aide
Cordialement,
Bonsoir,
Désolé mais j'ai travaillé sur la base que j'avais indiquée...
Ce que tu souhaitais est une composition des équipes sur une base combinatoire... Quelqu'un te programmera le schéma...
A toute fin utile, un modèle sur la base que j'ai indiquée.
Cordialement.
Merci beaucoup pour ce premier jet qui est très prometteur, je le garde au cas ou,
pour info, ce que vous avez réalisé c'est ce que l'on appelle une mélée simple, et ce que je voudrais est basé sur une mélée tournante
j'attends donc le retour,
et si ça pouvait fonctionner pour 8,10,12,15 equipes sur le meme style ce serait super,
merci encore,
cordialement,
Bonjour,
Je ne peux garantir avoir le temps de faire une composition d'équipes tournante...
Mais après examen de la question, je vois les choses ainsi :
Dans le cadre d'une inscription de 24 participants répartis en 3 groupes : Expérimentés, Moyens, Débutants,
pour que chaque moyen tourne avec chaque expérimentés cela fait 8 combinaisons d'équipes, mais ces 8 combinaisons en génèrent chacune 8 autres pour que les débutants tournent de même...
On a donc 64 combinaisons au total, mais on ne garantirait pas que tout le monde ait tourné en procédant à un tirage sur les 64, avant d'avoir réalisé, sinon les 64 une bonne partie de ces combinaisons.
Je propose donc un tirage à 2 niveaux : au premier niveau, on tire un groupe de combinaison parmi 8, chaque groupe comprend 8 combinaisons permettant d'assurer que chaque membre d'un niveau aura fait équipe une fois avec tous les membres des autres niveaux ; donc 2e niveau de tirage, on ne tire que l'ordre dans lequel on passera les 8 combinaisons du groupe tiré.
Le concept est facile à voir, et une fois réalisé, ce sera rapide. Mais la réalisation est un peu plus complexe : codification des groupes et sous-groupes de combinaisons, et il faut prévoir une mémorisation des compositions jouées, pour ne pas les reprendre, jusqu'à effacement pour repartir à zéro, ainsi qu'une signalisation adéquate à l'intention de l'utilisateur pour qu'il sache où il en est à tout moment, et également que le programme ne puisse pas reprendre une combinaisons jouée... C'est cela qui prendra du temps dans la réalisation.
Cordialement.
Bonjour,
Merci pour votre proposition,
il n'y a pas urgence, prenez votre temps,
merci encore pour votre aide,
cordialement,
Je pense avoir fini dans l'après-midi, mais pas eu le temps de tester, et de vérifier que je n'ai rien oublié.
Dès que possible donc, car demain je suis absent.
J'aai trouvé un moment pour tester, déboguer, faire quelques autres rectifs...
Le système tournant est un ajout, le tirage aléatoire continue de fonctionner indépendamment et peut être utilisée alors qu'une série tournante est en cours (qui peut être longue si on va au bout des 64 combinaisons...) sans interférer avec la série tournante (les éléments restent mémorisés tant qu'on ne fait pas une réinitialisation complète.
Pas d'explications particulières à donner, l'utilisation est assez simple.
Si tu veux décortiquer la mécanique, côté macro rien de spécial, 8 procédures seulement dont une fonction et les 7 autres affectées à des boutons. Le travail de chacune est bien distingué, même si cela se combine avec quelques appels de procédures par d'autres, pas de complication pour analyser le code...
Par contre note que je travaille avec des plages nommées, en évitant toutefois de multiplier les noms à outrance. Il n'y en a que 5 et sur les deux feuilles principales, chacune n'a qu'une plage nommée, et c'est à partir de cette plage que je fais tous les adressages sur la feuille. Sur la feuille Listes, deux plages nommées concernent des paramètres utilisés et la 3e qui me sert à adresser les mémorisations de tournantes, est limitée à une cellule qui n'est même pas dans la plage pour laquelle elle sert...
Tu ne trouveras donc pas de références à des feuilles dans le code, tout passe par des plages nommées, y compris s'il s'agit d'atteindre la feuille en tant que telle...
Il ne faut pas se laisser déstabiliser, cela se décode très bien, mais il convient d'avoir un minimum de maîtrise des adressages indirects.
Cordialement.
Bonjour,
Merci beaucoup pour ce retour,
J'ai testé rapidement, ca a l'air super,
je vais approfondir et reviens vers vous,
La macro sera t elle modifiable facilement pour que cela fonctionne aussi avec 10,12 et 15 équipes ?
merci encore,
cordialement,
re-bonjour,
alors après un test sur 8 parties d'un "groupe", en prenant à chaque fois la 1ere oartie, j'ai les résultats suivants ;
1
Expérim_2 - Moyen_1 - Début_8 Expérim_8 - Moyen_7 - Début_6
Expérim_3 - Moyen_2 - Début_1 Expérim_5 - Moyen_4 - Début_3
Expérim_4 - Moyen_3 - Début_2 Expérim_6 - Moyen_5 - Début_4
Expérim_7 - Moyen_6 - Début_5 Expérim_1 - Moyen_8 - Début_7
1
Expérim_5 - Moyen_2 - Début_7 Expérim_7 - Moyen_4 - Début_1
Expérim_3 - Moyen_8 - Début_5 Expérim_1 - Moyen_6 - Début_3
Expérim_4 - Moyen_1 - Début_6 Expérim_2 - Moyen_7 - Début_4
Expérim_8 - Moyen_5 - Début_2 Expérim_6 - Moyen_3 - Début_8
1
Expérim_6 - Moyen_6 - Début_6 Expérim_2 - Moyen_2 - Début_2
Expérim_1 - Moyen_1 - Début_1 Expérim_5 - Moyen_5 - Début_5
Expérim_7 - Moyen_7 - Début_7 Expérim_3 - Moyen_3 - Début_3
Expérim_8 - Moyen_8 - Début_8 Expérim_4 - Moyen_4 - Début_4
1
Expérim_5 - Moyen_6 - Début_7 Expérim_7 - Moyen_8 - Début_1
Expérim_2 - Moyen_3 - Début_4 Expérim_4 - Moyen_5 - Début_6
Expérim_3 - Moyen_4 - Début_5 Expérim_1 - Moyen_2 - Début_3
Expérim_6 - Moyen_7 - Début_8 Expérim_8 - Moyen_1 - Début_2
1
Expérim_3 - Moyen_1 - Début_7 Expérim_7 - Moyen_5 - Début_3
Expérim_5 - Moyen_3 - Début_1 Expérim_1 - Moyen_7 - Début_5
Expérim_8 - Moyen_6 - Début_4 Expérim_4 - Moyen_2 - Début_8
Expérim_6 - Moyen_4 - Début_2 Expérim_2 - Moyen_8 - Début_6
1
Expérim_1 - Moyen_5 - Début_1 Expérim_5 - Moyen_1 - Début_5
Expérim_7 - Moyen_3 - Début_7 Expérim_3 - Moyen_7 - Début_3
Expérim_6 - Moyen_2 - Début_6 Expérim_2 - Moyen_6 - Début_2
Expérim_8 - Moyen_4 - Début_8 Expérim_4 - Moyen_8 - Début_4
1
Expérim_4 - Moyen_6 - Début_8 Expérim_3 - Moyen_5 - Début_7
Expérim_5 - Moyen_7 - Début_1 Expérim_2 - Moyen_4 - Début_6
Expérim_6 - Moyen_8 - Début_2 Expérim_1 - Moyen_3 - Début_5
Expérim_7 - Moyen_1 - Début_3 Expérim_8 - Moyen_2 - Début_4
1
Expérim_7 - Moyen_2 - Début_5 Expérim_5 - Moyen_8 - Début_3
Expérim_1 - Moyen_4 - Début_7 Expérim_3 - Moyen_6 - Début_1
Expérim_6 - Moyen_1 - Début_4 Expérim_8 - Moyen_3 - Début_6
Expérim_4 - Moyen_7 - Début_2 Expérim_2 - Moyen_5 - Début_8
On s’aperçoit que par exemple le DEBUT-1 tombe 2 fois avec l'EXPERIM-7 et 1, et non avec certains autres,
je ne dois pas appliquer la bonne methode,
Faut-il changer de groupe pour avoir le résultat escompté ?
merci encore pour votre patience,
Cordialement,
Bonjour,
La macro sera t elle modifiable facilement pour que cela fonctionne aussi avec 10,12 et 15 équipes ?
J'avais eu l'intention d'ajouter à mon dernier post que je n'aurais sûrement pas le temps de me lancer dans la généralisation à un nombre d'équipes différent.
Il faudra bien sûr modifier les macros puisqu'elles fonctionnent sur un 8 "en dur", mais c'est un problème mineur ! Le principal réside dans les paramètres à utiliser.
En effet, pour répondre aux conditions de compositions des équipes d'une part et d'organisation de rencontres pour que chaque équipe puisse rencontrer toutes les autres une fois, on a affaire à un nombre de combinaisons fini, et un tirage aléatoire (classique, soit tirer et ne retenir que lorsqu'il n'y a pas doublon...) n'est pas la méthode qui convient. Car sur 8 équipes, pour lesquelles 7 tours de rencontres sont à définir, lorsqu'on atteint 4 tours de définis, les probabilités pour pouvoir en définir d'autres par tirage sont dépendantes des tirages déjà faits, et les chances d'être bloqué par les tirages faits sont nombreuses. En partant d'un schéma dont on sait qu'il est une solution, ce qu'on tire n'est plus qu'un ordonnancement, mais la condition est remplie à partir d'un paramètre d'organisation prédéfini...
Ainsi le petit tableau 4col. 7lignes figurant sur la feuille Listes en haut à gauche, constitue le paramètre d'organisation des rencontres pour 8 équipes. Pour 10 équipes, il me faut un tableau 5col. 9lignes équivalent... seulement, les propriétés numériques de 10 n'étant pas celles de 8, en procédant à des permutations sur le même mode que celui utilisé pour 8, on définit bien les 5 premiers tours mais avec 5 tours ainsi définis, impossible d'en ajouter un 6e qui ne double pas l'une des rencontres définies dans les 5 premiers.
Il serait fastidieux de devoir établir un tableau spécifique à chaque nombre d'équipes, dont les bases d'établissement pourraient être en outre différentes...
Il fallait donc une méthode permettant un schéma d'organisation fonctionnel des rencontres quel que soit le nombre (pair, en cas de nombre impair on travaille avec le nombre pair supérieur, et à chaque tour de rencontres une équipe sera tour à tour au repos) d'équipes. Je me suis lancé dans une petite révision mathématique qui m'a fait tomber sur la solution générale du problème.
Il reste donc maintenant à coder un algo produisant un tableau équivalent à celui que j'ai mentionné : on supprimera donc ce tableau sur feuille pour le produire en VBA selon le nombre d'équipes...
C'est un peu la même chose pour la constitution tournante des équipes (mais là le système utilisé est généralisable) : analogue à un cadenas à 3 chiffres dont on garde fixe le 1er, et on crée des combinaisons en incrémentant de 1 le 2e chiffre et de 2 le 3e chiffre. Chacune de ces combinaisons (égales au nombre d'équipes génère une composition des équipes différente des autres et forme un groupe de composition dans lequel chaque membre est toujours associé à 2 autres membres différents. La variation du 1er chiffre génèrera d'autres groupes équivalents permettant d'obtenir (si l'on va jusqu'au bout) toutes les associations possibles de joueurs.
Même chose, plutôt que de l'avoir en tableau sur la feuille, il faut redéfinir ce tableau à chaque fois en fonction du nombre d'équipes. Juste une modif du système de numérotation puisqu'on atteint et passe la dizaine...
Il faudrait par contre fixer une limite : 20, 50, 100 équipes ! Surtout pour prévoir la mise en place sur feuille...
Je n'ai pas trop le temps de faire ça en ce moment, mais comme j'ai en tête la méthode, j'essaierai d'utiliser mes pauses...
Cordialement.
Bonjour,
merci infiniment pour ces précisions,
Pour le nombre maxi d'équipes, on peut se fixer 20, on n'ira pas au dela,
merci encore,
cordialement,
C'est noté. J'ai adapté les feuilles pour accueillir 20 équipes max., les MFC, etc.
Les fonctions dont j'ai parlé sont réalisées, et fonctionnent !
Il ne restera donc plus qu'à revoir tout le programme pour qu'il prenne en charge toutes les variations de 2 à 20...
A+
Bonjour,
merci
cordialement,
Bonjour à toi,
Faudra attendre que j'ai pris le temps de tester !
Par expérience je sais que rien de plus facile que d'en sauter quelques uns au passage...
Cordialement. A+
merci,
pas de soucis,
on atttendra le temps qu'il faudra
Cordialement,
J'ai dû réparer les plus grosses bévues !
La difficulté est que pour l'essentiel ce ne sera pas des erreurs d'exécution (là c'est simple, ça bloque, on cherche pourquoi ou comment et où, et on débloque !), mais le résultat qui ne sera pas conforme, et ça il faut le voir s'il n'y a pas d'erreur qui arrête l'exécution...
L'allure du fichier n'a guère changée. Toujours le même nombre de boutons, avec les même fonctions... Voici les principales modifications :
- Les plages nommées sont réduites à 3. Les 2 nommant les tables-modèles de compositions d'équipes et de rencontres ont disparues, remplacées par des fonctions (proc. Function) qui les établissent selon le nombre d'équipes et renvoient sous forme de tableaux. Par contre les plages nommées sur les feuilles Inscriptions et Rencontres, le sont de façon dynamique pour s'ajuster aux variations du nombre d'équipes.
Particularité : on ne dénombre pas les valeurs de la colonne ou d'une partie pour définir le nombre de lignes, mais la valeur d'une cellule (I1) où une formule le calcule à partir des expérimentés inscrits. Cette cellule est utilisée pour recueillir le nombre d'équipes...
- Les tests qui initialement portaient sur la présence d'inscriptions dans la plage nommée, sont remplacés par un test sur le nombre d'équipes issus de la cellule précitée. Une proc. Function est destinée à le recueillir et le renvoyer aux proc. qui en ont besoin. Mais elle joue un rôle de vérification et de régulation... D'abord, s'il n'y a pas d'inscriptions, les plages nommées ne seront pas définies (et comme j'ai maintenu tous les adressages à partir des plages nommées, c'est une gestion d'erreur qui indiquera que la valeur qui ne peut être recueillie est donc 0). Si le nombre d'équipes issu des inscriptions est impair, il sera automatiquement établi au nombre pair supérieur.
Lors de la mise en place (c'est en effet inutile s'il s'agit d'effacer...) une vérification est effectuée : le nombre d'équipes est calculée sur la colonne Expérimentés, on vérifie alors que les autres colonnes sont servies, qu'il n'y pas de vides, et qu'il n'y pas de vides dans la colonne Expérimentés. L'utilisateur est informé et invité à rétablir la situation si elle n'est pas conforme.
Si le nombre d'équipes est impair et élevé au pair supérieur, une équipe fictive est automatiquement ajoutée (à moins que l'utilisateur l'ait fait lui-même, auquel cas le programme n'y verra rien...) C'est nécessaire pour les calculs de rencontre (l'équipe rencontrant l'équipe fictive à chaque tour, reste au repos en attendant le tour suivant).
- Les MFC ont été ajustées au nombre maximum d'équipes pour les couleurs, les bordures sont également ajustées par MFC, de même que le tableau de rencontres... Egalement la cellule I1 passe au rouge si le nombre d'inscriptions en col. Moyens ou Débutants n'est pas égal à celui des Expérimentés, alerte visuelle que les inscriptions en cours sont à compléter (si la situation est OK la cellule est jaune).
Le programme fonctionne un peu différemment puisque l'on doit se caler sur un nombre d'équipes variables, mais cel ne change rien pour l'utilisateur...
A tester donc. Cordialement.
Bonjour,
merci beaucoup,
je test et reviens vers vous,
cordialement,
Re,
alors j'ai fait un premier essai de tirage aléatoire sur 8 equipes,
en prenant la 1ere rencontre de chaque tirage, j'ai les résultats suivants :
1 5
Expérim_2 - Moyen_6 - Début_8 Expérim_5 - Moyen_1 - Début_3 Expérim_8 - Moyen_3 - Début_4 Expérim_6 - Moyen_1 - Début_2
Expérim_1 - Moyen_5 - Début_7 Expérim_6 - Moyen_2 - Début_4 Expérim_4 - Moyen_7 - Début_8 Expérim_1 - Moyen_4 - Début_5
Expérim_4 - Moyen_8 - Début_2 Expérim_3 - Moyen_7 - Début_1 Expérim_7 - Moyen_2 - Début_3 Expérim_5 - Moyen_8 - Début_1
Expérim_7 - Moyen_3 - Début_5 Expérim_8 - Moyen_4 - Début_6 Expérim_2 - Moyen_5 - Début_6 Expérim_3 - Moyen_6 - Début_7
2 6
Expérim_1 - Moyen_8 - Début_5 Expérim_2 - Moyen_1 - Début_6 Expérim_2 - Moyen_2 - Début_8 Expérim_5 - Moyen_5 - Début_3
Expérim_3 - Moyen_2 - Début_7 Expérim_7 - Moyen_6 - Début_3 Expérim_4 - Moyen_4 - Début_2 Expérim_3 - Moyen_3 - Début_1
Expérim_8 - Moyen_7 - Début_4 Expérim_5 - Moyen_4 - Début_1 Expérim_7 - Moyen_7 - Début_5 Expérim_8 - Moyen_8 - Début_6
Expérim_4 - Moyen_3 - Début_8 Expérim_6 - Moyen_5 - Début_2 Expérim_6 - Moyen_6 - Début_4 Expérim_1 - Moyen_1 - Début_7
3 7
Expérim_8 - Moyen_1 - Début_8 Expérim_5 - Moyen_6 - Début_5 Expérim_3 - Moyen_5 - Début_5 Expérim_4 - Moyen_6 - Début_6
Expérim_3 - Moyen_4 - Début_3 Expérim_7 - Moyen_8 - Début_7 Expérim_7 - Moyen_1 - Début_1 Expérim_8 - Moyen_2 - Début_2
Expérim_6 - Moyen_7 - Début_6 Expérim_4 - Moyen_5 - Début_4 Expérim_6 - Moyen_8 - Début_8 Expérim_1 - Moyen_3 - Début_3
Expérim_2 - Moyen_3 - Début_2 Expérim_1 - Moyen_2 - Début_1 Expérim_5 - Moyen_7 - Début_7 Expérim_2 - Moyen_4 - Début_4
4 8
Expérim_4 - Moyen_2 - Début_6 Expérim_3 - Moyen_1 - Début_5 Expérim_6 - Moyen_3 - Début_6 Expérim_1 - Moyen_6 - Début_1
Expérim_7 - Moyen_5 - Début_1 Expérim_8 - Moyen_6 - Début_2 Expérim_4 - Moyen_1 - Début_4 Expérim_3 - Moyen_8 - Début_3
Expérim_5 - Moyen_3 - Début_7 Expérim_2 - Moyen_8 - Début_4 Expérim_2 - Moyen_7 - Début_2 Expérim_5 - Moyen_2 - Début_5
Expérim_6 - Moyen_4 - Début_8 Expérim_1 - Moyen_7 - Début_3 Expérim_8 - Moyen_5 - Début_8 Expérim_7 - Moyen_4 - Début_7
E avec M OK
Expérim_1 - Moyen_1 - Début_7
Expérim_1 - Moyen_2 - Début_1
Expérim_1 - Moyen_3 - Début_3
Expérim_1 - Moyen_4 - Début_5
Expérim_1 - Moyen_5 - Début_7
Expérim_1 - Moyen_6 - Début_1
Expérim_1 - Moyen_7 - Début_3
Expérim_1 - Moyen_8 - Début_5
E avec D Non OK
Expérim_1 - Moyen_2 - Début_1
Expérim_1 - Moyen_6 - Début_1
Expérim_1 - Moyen_3 - Début_3
Expérim_1 - Moyen_7 - Début_3
Expérim_1 - Moyen_8 - Début_5
Expérim_1 - Moyen_4 - Début_5
Expérim_1 - Moyen_5 - Début_7
Expérim_1 - Moyen_1 - Début_7
L'analyse montre que l'EXPERIM 1 jour bien avec tous les MOYENS (idem pour l'EXPERIM 2)
par contre l'EXPERIM 1 joue 2 fois avec les DEB 1,3,5,7 et pas avec les 2,4,6,8
est-ce que j'utilise bien le bon procédé pour avoir mes 8 rencontres ?
merci encore,
Cordialement,