XL 2010 Tirage aléatoire d'équipes de 2

dev_co

XLDnaute Occasionnel
Bonjour
J'ai bien avancé sur ce code mais à force , je tourne en rond pour trouver comment empêcher les doublons dans ce tirage d'exemple de 8 équipes donc pour 4 rencontres
le nombre de 8 n'est pas figé et là aussi cela pourra être impair donc sortir une équipe exempte
 

Pièces jointes

  • testtirage.xlsm
    32.5 KB · Affichages: 8

patricktoulon

XLDnaute Barbatruc
re
Qui lui aussi n'avait pas traité le cas Impair !!
heu... si !! si il est traité

faire en fonction des gagnants
dans ce cas la il te faudra à minima créer un 4 tableau pour les gagnants(voir un croisé dynamique)
qui te permettra de zapper les perdants de la précédente réunion
au quel cas le tirage 2 et 3 devront être fait après la partie précédente

pour le nombre impair ton raisonnement d'exception est pas bon
si tu excepte une équipe par ce qu'elle est impair elle jouera jamais
en fait ça n'a aucune importance vu que mon tableau final contient un nombre de ligne pair correspondant à l'arrondi du nombre /2
autrement dit l'impair est traité sans l'exception

conclusion le problème pair impair n'est que dans ta tête 🤣 ;)
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Tachez de progresser un peu de votre coté c'est à dire en ce qui concerne le classement surtout.
Je m'occuperai de l'interfaçage avec mon système d'appariement au système Suisse simplifié si ça vous intéresse, et si les choses seront devenues claires. L'appariement de la 1ère manche peut aussi être fait par lui en partant d'un classement aléatoire.
Mettez d'abord vos plages sous forme de tableaux, c'est mieux.
Ne manquez pas de me dire quels autre noms vous souhaiteriez pour les 5 procédures de communication avec ce système, à moins que vous ne préfériez communiquer que par une seule qui s'appelle AppSSSOK si vous êtes capable de constituer les 2 tableaux dynamiques TNoJrs et TNoAdv à lui transmettre.
 
Dernière édition:

dev_co

XLDnaute Occasionnel
heu... si !! si il est traité
Ah bon ? je re joint le fichier de Sylvanu > Alors pourquoi avec ce tirage l'équipe SEPT n'apparait pas ??
Ensuite je re joint le mien , cas Nbre équipes impaires et là on voit
si tu excepte une équipe par ce qu'elle est impair elle jouera jamais
Non c'est aléatoire ..la preuve là c'est la 6 exempt , mais si tu relances c'est n'importe quelle équipe !!
@Dranreb
moi je veux bien tout ce que l' on veut !! pourvu que ce soit simple car je vais refiler le fichier à un pote ( âgé :D) qui va s'en servir cet été au camping et ne connait rien en Excel

PS : de ce que je sais la méthode SUISSE est pratiquement réservée aux Echecs mais jamais vu à la pétanque ?? même si elle est proposée !!
 

Pièces jointes

  • concours1.xlsm
    36.3 KB · Affichages: 3
  • testtirage _sylv.xlsm
    31.9 KB · Affichages: 1

patricktoulon

XLDnaute Barbatruc
RE
Bon sang c'est pas compliqué
tu a 9 equipes
ça te fait 4 possibilités de duo
et rien n'interdit que l’équipe 9 soit tirée
autrement dit dans les 4 duos tu peut avoir les équipe de 1 à 9
demo.gif


de la même manière par exemple si j'ai 11 équipes ça va donc faire 5 duos possible et là encore rien n'interdit que la 11 ème équipe ne fasse pas partie des duos

pour le coup j'ai revu un peu le code ( 3 fois rien )
le nombre de duos c'est simple c'est cette ligne qui te le donne

maxlig = (UBound(T) - UBound(T) Mod 2) / 2

VB:
Sub BtTirage1_Cliquer()
    tirageausort2 1
End Sub
Sub BtTirage2_Cliquer()
    tirageausort2 6
End Sub
Sub BtTirage3_Cliquer()
    tirageausort2 11
End Sub
Sub tirageausort2(cx)
    Dim T, T2, I&, C, LIg&, maxlig&
    With Sheets("Inscription"): T = Application.Transpose(.Range("A7", .Cells(Rows.Count, "A").End(xlUp)).Value): End With
    maxlig = (UBound(T) - UBound(T) Mod 2) / 2
     ReDim T2(1 To maxlig, 1 To 4)
    For I = 1 To UBound(T): x = Round(1 + (Rnd * (UBound(T) - 1))): temp = T(I): T(I) = T(x): T(x) = temp: Next
    C = 1: LIg = 0
    For I = 1 To UBound(T):
        LIg = LIg + 1: T2(LIg, C) = T(I): If LIg = maxlig Then C = 3: LIg = 0
    Next
    With Cells(7, cx).Resize(maxlig, 4)
        .ClearContents
        .Value = T2
    End With
End Sub
demo.gif
 

dev_co

XLDnaute Occasionnel
@patricktoulon
Je suppute que tu n'a jamais fait de concours de Pétanques ( au tennis idem si impair t'as un pré -tour )donc là si 9 équipes ça fait juste 4 rencontres ( 2 x 4=8) ..... Une équipe X attend à la buvette :D et gagne 13-7
Ce que je n'ai pas l'air de voir dans toutes tes anim ???? il doit y avoir une dernière ligne avec une équipe seule Exemple : Equipe 5 contre ?? personne et donc 13-7 affecté d'office
C'est clair maintenant ???
 

patricktoulon

XLDnaute Barbatruc
re
a moins que le tournois se déroule de cette manière
équipe 1 contre équipe 2
équipe 3 contre équipe 4
etc...et le impair attend
sinon je t'ai donné une solution valable
c'est le principe du tirage au sort
dans mes animations tu vois bien 8 équipes en duo donc 4 matchs
si tu regarde bien les chiffres tu verra qu'il t'en manque 1
et pour 11 aussi maintenant si tu veux vraiment l’équipe impaire seul en dernière ligne c'est simple on modifie la ligne précédemment cité

pour info si je n'ai pas mis la 9 eme ou la 11 eme c'est par rapport à ton énoncé
je te cite
le nombre de 8 n'est pas figé et là aussi cela pourra être impair donc sortir une équipe exempte
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
Étudiez aussi les tirage de la feuille "Système Suisse très simplifié" de mon classeur ListeAléat.xlsm en spécifiant un nombre de joueurs impair (cellule B6 nommée JMax). Même avec un nombre pair, vous ne m'avez d'ailleurs jamais dit si les tirages obtenus vous convenaient.
Attention: je viens de voir une petite erreur dans le cas où c'est impair. Je le joins donc corrigé.
Précision que je n'ai jamais dite parce que je pensais que c'était évident: Le système s'efforce de faire se rencontrer les joueurs proches dans le classement, qui ont donc le plus souvent le même nombre de points. À la seconde manche, ça revient donc à opposer entre eux les gagnants et les perdants de la 1ère.
 

Pièces jointes

  • ListeAléat.xlsm
    564.5 KB · Affichages: 2
Dernière édition:

dev_co

XLDnaute Occasionnel
Bonjour
@patricktoulon tu ecris
autrement dit dans les 4 duos tu peut avoir les équipe de 1 à 9
et comme aussi en regardant tes démos je vois toujours comme tu dis 4 duos mais ça fait 4x2 donc 8 et le 9éme il est OU ??? il doit apparaitre en A seul et mettre le score de 13 en B et 7 en D
@Dranreb j'ai déjà regardé le système suisse ( simplifié ) mais après INIT le tirage se fait comment ?
 

patricktoulon

XLDnaute Barbatruc
re
Allez si tu veux
VB:
Sub BtTirage1_Cliquer()
    tirageausort2 1
End Sub
Sub BtTirage2_Cliquer()
    tirageausort2 6
End Sub
Sub BtTirage3_Cliquer()
    tirageausort2 11
End Sub
Sub tirageausort2(cx)
    Dim T, T2, I&, C, LIg&, maxlig&
    With Sheets("Inscription"): T = Application.Transpose(.Range("A7", .Cells(Rows.Count, "A").End(xlUp)).Value): End With
    maxlig = Round(UBound(T) / 2)
     ReDim T2(1 To maxlig, 1 To 4)
    For I = 1 To UBound(T): x = Round(1 + (Rnd * (UBound(T) - 1))): temp = T(I): T(I) = T(x): T(x) = temp: Next
    C = 1: LIg = 0
    For I = 1 To UBound(T):
        LIg = LIg + 1: T2(LIg, C) = T(I): If LIg = maxlig Then C = 3: LIg = 0
    Next
 If UBound(T) Mod 2 > 0 Then T2(UBound(T2), 2) = 13: T2(UBound(T2), 4) = 7
    
    With Cells(7, cx).Resize(maxlig, 4)
        .ClearContents
        .Value = T2
  
    End With
End Sub
 

dev_co

XLDnaute Occasionnel
Eh ben !!!! voili voilà , c'est exactement ça !
Bon maintenant je vais rechercher pour la partie 2 > Gagnants contre Gagnants & P-P et toujours un exempt
Mais je vais demander comment ils font , car je ne sais pas ; Là on voit que l'exempt sera toujours un G. puisque l'exempt gagne 13-7 donc 5 G et 4 P.
 

Dranreb

XLDnaute Barbatruc
mais après INIT le tirage se fait comment ?
Dans le classeur de démo, après le bouton Initialisation, c'est en cliquant successivement, pour autant de fois qu'on veut de manches, sur les boutons suivants :
Classement : pour établir l'ordre dans lequel seront considérés les joueurs restant à apparier, alternativement de haut en bas et de bas en haut,
Rencontres M : pour établir les rencontres de la manche M,
Issues simulées : qui simule une saisie des résultats et un calcul de points et de départage.
 

dev_co

XLDnaute Occasionnel
Désolé mais rien ne correspond à un concours de pétanque comme nous les organisons > doublette formées, méthode > un Nbre annoncé de parties successives 3 ou 4 ( pas d'élimination) , formule Gagnant-gagnant : Perdant-Perdant ; Un classement final selon le Nbre de parties gagnées puis le moins de points pris
Et il me faut les infos que j'ai dans mon fichier
Merci quand même ( c'est un très beau fichier mais pas adapté)
 

Dranreb

XLDnaute Barbatruc
Bien sûr, c'est juste un classeur de démo de fonctionnement des dispositifs. Les classeurs qui veulent les utiliser doivent avoir leur propre interface entre les tableaux affichés dans les feuilles et les procédures de tirage, et traiter les saisies de résultats. Comme indiqué tout en haut à gauche, votre classeur n'aura besoin que du module MTSuisse. Vous pouvez tout au plus examiner un peu la programmation de l'objet Worksheet WshApSuisse (Système Suisse très simplifié) pour voir comment il attaque ce module pour ses propre besoins et vous en inspirer pour votre sauce à vous.
Notez que je pourrais vous l'écrire mais il faudrait que j'en sache considérablement plus sur la façon dont vous voulez constituer le classement provisoire nécessaire de chaque manche.
 

dev_co

XLDnaute Occasionnel
Bonjour
Ok c'est gentil
En fait un concours dans ce style se déroule en 3 ou 4 parties max ( à notre niveau)
- Si Nbre impair d'équipes > Une est déclarée Gagnante sans jouer (13-7) . J'attends des précisions
concernant les parties suivantes
- Tirage aléatoire pour les autres mais un critère Sup si concours officiel , dans la fiche inscription le nom du club est inscrit : 2 équipes du même club ne doivent pas se rencontrer au 1er Tour ( sauf si impossible mais c'est rare) , il peut y avoir une équipe disparate ( 2 clubs) on note N.H. ( non Homogène)
Après la 1ere partie , on doit pouvoir établir le classement provisoire ( bouton )
A la 2eme partie > Tirage aleatoire Gagnant-Gagnant ; Perdant-Perdant ; Si impair : l'exempt ne devra pas être l'exempt de la 1ere partie ( Pour ce cas, J'attends des précisions concernant les parties suivantes )
Voilà le déroulement
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 250
Membres
103 165
dernier inscrit
thithithi78