tirage au sort par poule

raym1313

XLDnaute Occasionnel
bonjour

malgre avoir passe beaucoup de temps a essayer de trouver parmi les exemples
qui fourmille dans ce site - je n arrive pas a trouver comment m en sortir

alors je compte vraiment sur votre aide et je vous en remercie sincerement :)

je suis dirigeant d un club de lyonnaise - et je dois organiser un tournoi federal
avec certaines contraintes que m oblige la federation
1 ere contrainte - 1ere phase mise en place de groupe ( poule ) de 4 joueurs avec 2 qualifiés par poule
2 eme contraine - a l issu de la 1ere phase je dois avoir un nombre de qualifies
égale a 32


si dans le departement nous avions 64 joueurs inscrits, il n'y aurait aucun
probléme 64 joueurs / 4 = 16 poules de 4 joueurs
2 joueurs qualifiés par poule = 32

mais en fait d'une année a l'autre c'est tres variable
cette annee nous avons 55 joueurs donc impossible mathematiquement
d'arriver a 32 joueurs de qualifies si on respecte les directives ci-dessus
55 joueurs / 4 = 13 poules de 4 joueurs 3 ne joueraient pas
d'autre part si on applique egalement les directives a raison de 2 qualifiés
par poule 13 x 2 = 26 + 3 sur la touche on a pas les 32
non seulement on a pas les 32 mais en plus 3 n'on pas joue du tout

pour paliér au nombre inférieur a 64 la federation nous autorise
les poules de 4 a 2 qualifies
mais si necessaire les poules de 4 a 3 qualifiés
les poules de 3 a 2 qualifies
ce qui nous amene avec 55 joueurs
4 poules de 4 a 3 qualifies soit 12 joueurs qualifies
9 poules de 4 a 2 qualifiés soit 18 joueurs qualifies
1 poule de 3 a 2 qualifié soit 2 joueurs qualifiés
ce qui nous donne bien 32

voila a faire sur papier c est relativement facile mais j aimerai vraiment l informatiser sur excel avec une macro
pensez vous que cela soit possible
merci d avance :):)
 

ROGER2327

XLDnaute Barbatruc
Re : tirage au sort par poule

Bonsoir raym1313
J'ai lu vos explications avec attention, et il me semble qu'il y manque une règle pour donner une réponse précise. Puisqu'on peut, en cas de besoin, former des poules de 4 fournissant 2 ou 3 qualifiés et des poules de 3 fournissant 2 qualifiés (que j'abrégerai dans la suite 4#2, 4#3, 3#2) , on obtient plusieurs solutions pour un nombre donné d'inscrits.
Par exemples, avec 55 inscrits, vous avez certes la possibilité de former 14 poules (9 x 4#2, 4 x 4#3, 1 x 3#2), mais vous pouvez aussi former 15 poules (8 x 4#2, 2 x 4#3, 5 x 3#2) ou 16 poules (7 x 4#2, 9 x 3#2).
Il faudrait donc ajouter une règle comme : "on retiendra la solution fournissant le moins de poules de trois" ; ou bien : "on retiendra la solution fournissant le moins de poules de quatre fournissant trois qualifiés". Ou une autre règle...
En fait, ce qui est difficile, c'est souvent de bien poser le problème... Un problème bien posé est souvent quasi-résolu.
En attendant, je vous propose le classeur joint, qui vous donne toutes les possibilités d'obtenir 32 qualifiés avec le système de poules que vous décrivez : le nombre d'inscrits doit être au moins de 43 (10 x 4#3, 1 x 3#2) et au plus de 64 (16 x 4#2).
Le tableau est formé de 9 colonnes. Les trois premières sont remplies à l'aide de la procédure :
Code:
Option Explicit

Sub toto()
Dim i As Long, j As Long, k As Long, n As Long, dat() As Long
    For n = 10 To 17
        For i = 0 To n
            For j = 0 To n - i
                If 3 * n - i - j = 32 Then
                    k = k + 1
                    ReDim Preserve dat(1 To 3, 1 To k)
                    dat(1, k) = i
                    dat(2, k) = j
                    dat(3, k) = n - i - j
                End If
            Next j
        Next i
    Next n
    With Me
        .Range(.Cells(5, 2), .Cells(4 + k, 4)).Value = Application.Transpose(dat)
        .Range(.Cells(4, 2), .Cells(4 + k, 10)).Sort _
            Key1:=Range("I5"), Order1:=xlAscending, _
            Key2:=Range("H5"), Order2:=xlAscending, _
            Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
    End With
End Sub
placée dans le module de la feuille Feuille1.
Les six suivantes sont calculées par formules.​
Voilà en attendant la précision manquante.​
À plus tard,
ROGER2327
 

Pièces jointes

  • raym1313_poules.zip
    15.4 KB · Affichages: 210

ROGER2327

XLDnaute Barbatruc
Re : tirage au sort par poule

Bonjour raym1313
Suite à vos messages privés et à la lecture du classeur que vous avez fourni, je pense qu'il est urgent de porter ce qui suit à la connaissance de ceux qui voudraient vous aider :
art 77 concours organise par poules
1 - definition des poules
on entend par poules la reunion d'un nombre determine de joueurs dans un meme groupe ( 3 - 4 - ou 5 )
2 - but des poules
permettre aux equipes de ne pas etre elimines immediatement - de jouer donc au moins 2 parties
3 - recommandation importante
il est recommande de former en priorite le maximum de poules de 4 - 2 qualifies
exemple : 64 equipes 16 poules de 4 equipes 2 qualifies par poule
4 - condition particuliere
si le nombre d'equipes engagees n'est pas un multiple de 4 selon le nombre de qualifies que l on aura determine soit 64 soit 32 soit 16 une ou plusieurs poules seront incompletes
on constituera alors en priorite le maximum de poule de 4#2 qualifies et on ajustera ensuite avec 1er reajustement possible des poules de 3#2 qualifies ou 2eme reajustement des poules de 4#3 ou 3eme reajustement des poules de 3#1
en respectant cette ordre
Si l'on compare ce texte à votre demande, on voit qu'ils sont assez différents ! Même avec ce texte, je ne suis pas certain de comprendre. On y évoque au début la possibilité de poules de 5, puis il n'en est plus jamais fait mention. Comment se placent ces éventuelles poules de 5 dans l'ordre de choix ? Quel est le nombre de qualifiés possibles en fonction de l'effectif d'une poule ? Rien là-dessus dans le règlement, mais votre classeur laisse entendre qu'on peut avoir de 1 à 3 qualifiés par poule de 4 ou 5, et 1 ou 2 qualifiés par poule 3. Votre demande initiale ne parle pas de la possibilité d'avoir 1 qualifié par poule.
Vous devriez prendre un peu de temps pour poser exactement votre problème. (Les gens qui vous répondent ici le font parce qu'ils en ont envie. Il vous consacre un peu de leur temps par plaisir. Mais est-ce une raison pour le leur faire perdre ?)
Ce problème m'intéresse, et si je le peux, j'aimerais vous aider à le résoudre. J'espère que vous ne prendrez pas en mal ma réponse car je comprends qu'il soit parfois difficile d'être clair, mais il faut vraiment être très précis sur toutes les conditions. À vous lire bientôt.​
Cordialement,
ROGER2327
 

raym1313

XLDnaute Occasionnel
Re : tirage au sort par poule

merci ROGER
et vraiment je suis désolé :( si j ai manqué de précisions
très sincèrement loin était mon intention de vous faire perdre votre temps

j'ai bien percu votre dernier message et je vais essayer d'etre encore
plus précis.

voici tous les types de poules existantes
a - poules de 5 à 3 qualifies 5#3

b - poules de 4 à 2 qualifies 4#2
poules de 4 à 3 qualifies 4#3

c - poules de 3 à 2 qualifies 3#2
poules de 3 à 1 qualifies 3#1

comme je vous en ai fait part lors de mon 1er message la federation
nous recommande de former en priorité des poules de 4#2
et toute les autres possibilités
ne sont en fait que pour réajuster en cas de non multiple de 4

par contre dans la mesure du possible
la federation preconise egalement de rejuster
avec en premier des poules de 3#2
si necessaire des poules de 4#3
en dernier ressort des poules de 3#1

en ce qui concerne les poules de 5
ces dernieres ne sont utilises que pour des tout petits comites
n'ayant que 5 ou 10 equipes d'inscrites

voila j 'espere cette fois ci vous avoir donner tous les elements
j espere que mon tableau ( fichier joint ) etait lui clair

cordialement
raym1313 raymond
 

soenda

XLDnaute Accro
Re : tirage au sort par poule

Bonsoir à tous

@raym1313:
Tu n'as semble t-il, pas très bien compris "la question" de roger. Aussi je vais me permettre de la formuler différemment.
la fédération nous recommande de former en priorité des poules de 4#2...
Ce qui en langage VBA se traduit par : x = nb Mod 4 (si x = 0, tout va bien, sinon)

Si x=1 => créer 1 Poule de 5
Si x=2 => créer 2 poules de 5 (=2*4 +2)
Si x=3 => créer 1 poules de 3

Aux Niveaux supérieurs, même problème
nb_Sélectionnés Mod 4 = x
. . .

Et la finale on la joue comment ?
à 1, à 2, à 3, à 4 ?

En d'autres termes, quelles sont les contraintes pour la
- la Finale
- la demi-finale
- les quart-de-finale

A plus

PS: Si on veut 32 sélectionnés en 8ème de finales, il faudra modifier les règles de sélection à ce niveau...
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : tirage au sort par poule

Bonjour à tous
Merci à raym1313 pour les précisions. Mais n'étant pas familier de ces systèmes, j'ai encore du mal à tout comprendre. Avec le classeur joint, je trouve les solutions suivantes pour 55 équipes inscrites :
4#2_____3#2_____4#3
_9_______1_______4
_8_______5_______2
_7_______9_______0
Quelle est la solution à retenir ?
La première donne le maximum de poules 4#2, mais beaucoup de poules 4#3.
La dernière ne donne pas de poules 4#3, mais ne donne pas le maximum de poules 4#2. (Elle me semble pourtant plus équitable.)​
A vous lire,
ROGER2327
 

raym1313

XLDnaute Occasionnel
Re : tirage au sort par poule

merci roger pour votre reponse :)

en parallele et sur le papier j'ai recherche de mon cote les solutions possibles
pour 55 joueurs
poule de 4#2 en priorité
puis en suivant a la lettre le reajustement imposé
en premier poule de 3#2
suivie de poule de 4#3
et seulement si necessaire poule de 3#1

j'obtiens exactement le meme resultat que vous
9 poules 4#2
1 poules 3#2
4 poules 4#3
c'est donc la 1ere solution la bonne

soit 9 x 4#2 = 18 joueurs qualifiés
1 x 3#2 = 2 joueurs qualifiés
4 x 4#3 = 12 joueurs qualifies
_____
32 joueurs qualifies

toutes les autres solutions sont donc a exclure
ce qui va limiter la liste je pense
comme vous je pense que certaines solutions semblent plus equitables :confused:
mais bon certainement la federation nous impose cela par soucis
d'uniformite - ainsi chaque departement chaque comite procede
de la meme maniere

roger me permettez vous d'abuser egalement de votre gentillesse :eek:
pour des raisons de presentations
le fichier joint ( tres simple c'est vrai )que je vous est adresse
possede 4 cellules

dans une cellule en tapant 55 par exemple ( le nombre de joueurs actuels)
je souhaiterai que par le biais d'un bouton auquel j'affecterai une macro
le resultat s affiche dans les cases des poules correspondantes

dans une cellule a1 par exemple je tape 55

dans la cellule a2 (correspondant aux poules 4#2 ) s'affichera 9
b2 (correspondant aux poules 3#2 ) s'affichera 1
c2 ( correspondant aux poules 4#3 ) s'affichera 4

voila toute cette partie de recherche du nombre de poules selon le nombre
de joueurs sera determiné - la suite de la competition concernant les 32 joueurs qualifiés s'effectue ensuite par elimination directe

merci encore roger
j apprecie vraiment l'interet que vous portez a ce projet

raym 1313 raymond
:)
 

raym1313

XLDnaute Occasionnel
Re : tirage au sort par poule suite

bonjour roger:)

c est avec beaucoup d'interet que j'ai consulté le fichier que vous m'avez joint
je touche presque au but recherché et je vous en remercie.:)

je precise presque car

lorsque je tape 55 ou un autre chiffre dans la cellule E17
de ma feuille ( formation de poules )

la macro - sub tata () s'affiche et me met erreur de compilation
variable non defini

j 'espere que ce petit probleme n'occasionnera pas trop de difficultes pour vous

cordialement
raym13 13 raymond:)
 

vbacrumble

XLDnaute Accro
Re : tirage au sort par poule

Bonjour tous


Si tu es sous Excel 2000:


Modifie comme suit vers la fin du code des sub tata et tutu

Code:
.Range(.Cells(5, 3), .Cells(4 + t, 8)).Sort Key1:=.Range("D5"), Order1:=xlDescending, Key2:=.Range("F5") _
            , Order2:=xlDescending, Key3:=.Range("G5"), Order3:=xlDescending, Header _
            :=xlNo, OrderCustom:=1, MatchCase:=False

Mettre en commentaire (ou supprimer ce qu'il y a après MatchCase:=False)
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : tirage au sort par poule

Bonsoir à tous.
Je viens de rouvrir le fichier déposé que j'ai déposé ce matin vers 1h. En y remplaçant 55 par d'autres valeurs, je ne provoque pas l'erreur signalée par raym1313. Si d'autres pouvaient faire la même expérience et en communiquer ici le résultat, cela nous mettrait peut-être sur la voie d'une explication. En l'état actuel des choses, je n'en vois aucune.
raym1313, quelle version d'Excel exploitez-vous ?​
À bientôt,
ROGER2327
 

Statistiques des forums

Discussions
313 770
Messages
2 102 235
Membres
108 181
dernier inscrit
Chr1sD