Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Tirage au sort avec chapeau (Tennis)

  • Initiateur de la discussion Initiateur de la discussion Quentin4h
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Q

Quentin4h

Guest
Bonjour à tous,

J'ai trouvé de nombreux postes à propos de tirage au sort, et j'en ai même trouvé qui corresponde à peu de chose près à ce que je recherche. Malheureusement, c'est ce "peu de chose" qui m'empêche de terminer, c'est pourquoi je fais appelle à vous.
Je souhaite réaliser un tirage au sort amenant à répartir 32 joueurs dans 8 groupes de 4 joueurs. La différence est que j'ai des têtes de séries (ou des chapeaux, un peu comme lors des tirages au sort de football). Je voudrais qu'il y ait un joueur de chez chaque chapeau dans chaque groupe (autrement dit, 4 chapeaux de 8).
De plus, je souhaiterais que la page ne soit pas modifié une fois le tirage au sort effectué, comme c'est le cas avec la fonction "alea" que j'ai essayé plusieurs fois. Je me doute qu'il faut réaliser une macro, mais étant limité aux macros de bases, je me permet de demander sur ce forum.
Ci-joint un exemplaire de ce que je souhaite. Seule la première page nous concerne. Je serai capable de me débrouiller pour la suite.

Merci d'avance pour les réponses que vous apporteraient.
Et Bonne Soirée.
 

Pièces jointes

Re : Tirage au sort avec chapeau (Tennis)

Bonsoir à tous,

Une possibilité avec le code ci-après.

Cordialement

KD
VB:
Sub PoulesChapeau()
    Dim Ta() As Byte, i As Byte, j As Byte, k As Byte, r As Byte, a As Byte, b As Byte
    Randomize
    For i = 1 To 4
        ReDim Ta(7)
        For j = 1 To 8
            r = Int((9 - j) * Rnd) + 1: a = 0
            For k = 0 To 7
                a = a + (1 - Ta(k))
                If a = r Then Ta(k) = 1: Exit For
            Next k
            b = Int((j - 1) / 4)
            Worksheets("TAS").Cells(15 + i + 6 * b, 2 + j - 4 * b) = Worksheets("TAS").Cells(4 + k, 2 + i)
    Next j, i
End Sub
 
Re : Tirage au sort avec chapeau (Tennis)

Tout simplement, génial.
De la vitesse de la réponse à son efficacité.
Je vous félicite et vous remercie grandement.

Cordialement.
Quentin.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
421
Réponses
5
Affichages
1 K
Réponses
14
Affichages
776
Réponses
0
Affichages
866
Réponses
2
Affichages
861
Réponses
6
Affichages
954
Réponses
30
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…