Tirage au sort pour rencontre sportive

fylox

XLDnaute Nouveau
Bonjour à tous,

Je m'occupe de deux association sportives différentes et organisant régulièrement des tournois, j'effectue encore mes tirages au sort à l'aide de papiers ou boules afin d'organiser la liste des rencontres. Afin de gagner du temps, j'aimerais créer un programme de tirage au sort pour un maximum de 350 participants. Dans un premier temps, encoder une liste de noms correspondant chacun à un numéro ensuite après tirage au sort pouvoir obtenir une liste de rencontre (3 contre 128, 349 contre 215 par exemple).

Je n'y connais rien en programmation, mes connaissances se limitent en fonction de bases et faire de jolis tableaux ;)

Ce projet est- il difficile à réaliser? Pouvez- vous m'aider à le réaliser?

Un grand merci.
 

Pièces jointes

  • Tournoi 2014.xlsx
    13.7 KB · Affichages: 118
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Tirage au sort pour rencontre sportive

Bonsoir à tous

fylox (bienvenue sur le forum)
mes connaissances se limitent en fonction de bases et faire de jolis tableaux
Donc tu peux nous concocter un fichier exemple avec des noms fictifs et 350 numéros
Ensuite tu le joins dans ta discussion
(tu dois savoir le faire si tu sais lire... ;),
cliques sur l'image ci-dessous et tu comprendras pourquoi je dis cela)
NouvelleDiscuss.jpg

NB: Tu peux aussi chercher l'inspiration dans les cinq liens en bas de page (Discussions similaires)
A priori le deuxième semble intéressant, non ?
Sans oublier la loupe en haut à droite (qui permet la recherche dans les archives du forum, tu devrais trouver pas mal d'exemples. Ce sujet ayant été traité plusieurs fois sur le forum)
 

Pièces jointes

  • NouvelleDiscuss.jpg
    NouvelleDiscuss.jpg
    38.4 KB · Affichages: 59
  • NouvelleDiscuss.jpg
    NouvelleDiscuss.jpg
    38.4 KB · Affichages: 68
Dernière édition:

fylox

XLDnaute Nouveau
Re : Tirage au sort pour rencontre sportive

Merci,

Voilà je viens de rajouter le fichier, juste une liste de numéro et de nom toute simple. Je vais aller jeter un œil sur les discussions plus bas au cas où.

Encore merci
 

KenDev

XLDnaute Impliqué
Re : Tirage au sort pour rencontre sportive

Bonsoir à tous,

Dans la mesure où on a pas affaire à pusieurs milliers de participants, le bête code suivant sera quasi instantanné.

A lancer depuis la feuille contenant la liste pésentée telle que dans le classeur fourni (ligne de titre, noms en colonne 2, colonne 1 non vide triée par ordre de n° croissant)

Cordialement

KD

VB:
Sub MatchListe()
    Dim Tb&(), i&, Rw&, w As Worksheet, r&, a&
    Rw = Cells(Rows.Count, 1).End(xlUp).Row - 1
    If Rw < 2 Then Exit Sub
    ReDim Tb(1 To Rw)
    For i = 1 To Rw: Do: r = Int(Rw * Rnd) + 1: Loop Until Tb(r) = 0: Tb(r) = i: Next i
    Set w = ActiveSheet: Sheets.Add
    For i = 1 To Rw: a = i Mod 2: Cells(a + Int(i / 2), 2 - a) = w.Cells(Tb(i) + 1, 1) & " : " & w.Cells(Tb(i) + 1, 2): Next i
    Cells.EntireColumn.AutoFit
End Sub
 

fylox

XLDnaute Nouveau
Re : Tirage au sort pour rencontre sportive

Merci à tous pour vos conseils,

Je viens d'essayer le code fourni par KenDev et cela donne le résultat que je veux...jusque là tout va bien, il faut juste me familiariser avec tout ca pour ne pas faire de bêtises...

J'ai réussi à insérer un bouton permettant d'exécuter le code... félicitez moi lol ;)

De là est- il possible de créer une belle présentation de ce fichier sans modifier le code? J'aimerai un emplacement "Titre" au dessus des 2 colonnes (n° et Nom et prénom), éventuellement 2 colonnes bien distinctes avec couleur et séparation. Et si possible que la feuille résultant du tirage soit également bien présentée afin de pouvoir afficher ce tirage sur écran... avez vous des conseils pour cela?

Encore merci, je n'y serai jamais arrivé sans prendre 10 ans de cours Excel ;)
 

Pièces jointes

  • Tournoi 2014.xlsm
    23.2 KB · Affichages: 71
  • Tournoi 2014.xlsm
    23.2 KB · Affichages: 70
  • Tournoi 2014.xlsm
    23.2 KB · Affichages: 70
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Tirage au sort pour rencontre sportive

Bonjour à tous.


Un autre code :​
VB:
'¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤'
'¤                                                        ¤'
'¤        Ajouter la référence à la bibliothèque          ¤'
'¤  Microsoft Scripting Runtime (scrrun.dll) au projet !  ¤'
'¤                                                        ¤'
'¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤'

Sub TIRAGE()
Dim i&, j&, n&, u&, x()
Dim a As New Scripting.Dictionary
Const k& = 2

    With Feuille1.[A2]
        Do Until IsEmpty(.Offset(n))
            If Not a.Exists(.Offset(n).Value) Then
                a.Add .Offset(n).Value, .Offset(n, 1).Value
                n = n + 1
            End If
        Loop
    End With

    ReDim x(1 To n \ k + 1, 2 * k)
    Randomize
    For i = 1 To n \ k: For j = 0 To 2 * k - 2 Step 2
        u = Int(n * Rnd)
        x(i, j) = a.Keys(u): x(i, j + 1) = a.Items(u)
        a.Remove x(i, j)
        n = n - 1
    Next j, i

    For j = 0 To n - 1
        x(i, 2 * j) = a.Keys(0): x(i, 2 * j + 1) = a.Items(0)
        a.Remove x(i, 2 * j)
    Next

    With Worksheets("Tirage").[A2]
        .CurrentRegion.Offset(1).ClearContents
        .Resize(i, 2 * k).Value = x
        .Parent.Activate
    End With

End Sub



ℝOGER2327
#7230


Dimanche 15 Clinamen 141 (Invention de la ’Pataphysique - fête Suprême Première première)
17 Germinal An CCXXII, 0,7896h - mélèze
2014-W14-7T01:53:42Z
 

Pièces jointes

  • Tournoi 2014.xlsm
    30.3 KB · Affichages: 97
  • Tournoi 2014.xlsm
    30.3 KB · Affichages: 89
  • Tournoi 2014.xlsm
    30.3 KB · Affichages: 82

fylox

XLDnaute Nouveau
Re : Tirage au sort pour rencontre sportive

Un énorme merci, trop balaise ;)

Juste encore une petite chose... J'aimerais que ces feuilles Excel puissent apparaître sur un écran télé. Est- ce possible vu que la liste de nom fait 6 pages et le tirage 3. Est-il possible que tout apparaisse sur la même page? Si pas c'est déjà cool que j'ai ce que je souhaitais, mille merci à tous pour votre aide
 

Pièces jointes

  • Tournoi 2014 (1).xlsm
    30.3 KB · Affichages: 78
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Tirage au sort pour rencontre sportive

Re...


Un énorme merci, trop balaise ;)

Juste encore une petite chose... J'aimerais que ces feuilles Excel puissent apparaître sur un écran télé. Est- ce possible vu que la liste de nom fait 6 pages et le tirage 3. Est-il possible que tout apparaisse sur la même page? Si pas c'est déjà cool que j'ai ce que je souhaitais, mille merci à tous pour votre aide

Un essai de bricolage...
Pas sûr que ce soit très lisible.​


ℝOGER2327
#7232


Dimanche 15 Clinamen 141 (Invention de la ’Pataphysique - fête Suprême Première première)
17 Germinal An CCXXII, 9,4812h - mélèze
2014-W14-7T22:45:18Z
 

Pièces jointes

  • Tirage_2.xlsm
    44.5 KB · Affichages: 54

fylox

XLDnaute Nouveau
Re : Tirage au sort pour rencontre sportive

Merci,

je testerai sur écran dès demain et vous tiens informé du résultat. Pour moi, ca me parait parfait.

Encore une question qui me rendra moins bête aujourd'hui... Est- il possible que si je n'encode que le numéro, il retrouve le nom correspondant sans devoir le recopier manuellement. Je m'explique à chaque tour de mon tournoi, il y aura des éliminé donc je recommence un tirage à chaque tour avec les joueurs restants donc si chaque fois je dois ré-encoder nom et numéro cela prend du temps également ou alors en supprimant la ligne du participant éliminé mais déjà testé le tirage s'arrête à la première ligne vide.

Comment solutionner ca?
 

ROGER2327

XLDnaute Barbatruc
Re : Tirage au sort pour rencontre sportive

Re...


Merci,

je testerai sur écran dès demain et vous tiens informé du résultat. Pour moi, ca me parait parfait.

Encore une question qui me rendra moins bête aujourd'hui... Est- il possible que si je n'encode que le numéro, il retrouve le nom correspondant sans devoir le recopier manuellement. Je m'explique à chaque tour de mon tournoi, il y aura des éliminé donc je recommence un tirage à chaque tour avec les joueurs restants donc si chaque fois je dois ré-encoder nom et numéro cela prend du temps également ou alors en supprimant la ligne du participant éliminé mais déjà testé le tirage s'arrête à la première ligne vide.

Comment solutionner ca?
Pour que le tirage ne s'arrête pas à la première cellule vide de la colonne A, il suffit de modifier légèrement le code :​
VB:
Sub TIRAGE()
Dim i&, j&, n&, u&, x()
Dim a As New Scripting.Dictionary
Const k& = 2

    With Feuille1
        For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
            With .Cells(i, 1)
                If Not IsEmpty(.Value) Then
                    If Not a.Exists(.Value) Then
                        a.Add .Value, .Offset(, 1).Value
                        n = n + 1
                    End If
                End If
            End With
        Next
    End With

    ReDim x(1 To n \ k + 1, 2 * k)
    Randomize
    For i = 1 To n \ k: For j = 0 To 2 * k - 2 Step 2
        u = Int(n * Rnd)
        x(i, j) = a.Keys(u): x(i, j + 1) = a.Items(u)
        a.Remove x(i, j)
        n = n - 1
    Next j, i

    For j = 0 To n - 1
        x(i, 2 * j) = a.Keys(0): x(i, 2 * j + 1) = a.Items(0)
        a.Remove x(i, 2 * j)
    Next

    With Worksheets("Tirage").[B2]
        .CurrentRegion.Offset(1).ClearContents
        .Resize(i, 2 * k).Value = x
        .Parent.Activate
    End With

End Sub
Ainsi écrit le code ignore les lignes dont la colonne A est vide. La colonne B peut ne pas être vide : il suffit donc de supprimer le n° d'un joueur sans effacer son nom pour qu'il soit ignoré au tirage suivant.​


ℝOGER2327
#7233


Lundi 16 Clinamen 141 (Exit Saint Domenico Theotocopouli, el Greco - fête Suprême Quarte)
18 Germinal An CCXXII, 0,4719h - ciguë
2014-W15-1T01:07:58Z
 

Pièces jointes

  • Tirage_3.xlsm
    41.3 KB · Affichages: 66
  • Tirage_3.xlsm
    41.3 KB · Affichages: 78
  • Tirage_3.xlsm
    41.3 KB · Affichages: 87

fylox

XLDnaute Nouveau
Re : Tirage au sort pour rencontre sportive

Bonjour à tous,

Très satisfait de ce petit fichier de tirage au sort, j'aimerais le perfectionner.

J'y ai rajouté une colonne nom de club serait- il possible d'y rajouter un bouton de tirage en plus de celui existant sauf que le 2ème inclurait que les joueurs dont le nom de club est identique ne puisse pas tomber l'un contre l'autre.

Un grand merci
 

Pièces jointes

  • Tirage_3.xlsm
    40.8 KB · Affichages: 73
  • Tirage_3.xlsm
    40.8 KB · Affichages: 93
  • Tirage_3.xlsm
    40.8 KB · Affichages: 91

Statistiques des forums

Discussions
312 248
Messages
2 086 596
Membres
103 252
dernier inscrit
Ersar