Tirage au sort pour groupes de 4 équipes

Bonjour à tous, merci de prendre un peu de temps pour lire ce sujet qui a déjà été traité. Mon classeur est opérationnel pour un tirage au sort avec élimination direct. On m'a demandé un fichier pour un tournoi en poules ou groupe de 4 et là bien sûr ça ne va plus, dans le même groupe il ne peut y avoir 2 équipes de la même AS. Les formules ça va à peu près, mais les macros j'arrive à les comprendre, à les adapter mais je ne sais pas les créer, merci pour votre aide.

bonjour didierc3,

comme ceci ?

Bonjour Bart, merci beaucoup ça marche nickel, mais serait-il possible d'exécuter la macro avec ma feuille F1?

re,

oui, c'est possible, j'utilise la plage AA5:AT15 comme brouillon.

Bon, c'est super, mais là il faut que je la digère. Un grand merci bonne soirée

re, j'ai modifié encore une chose et ajouté du commentaire.

Bonjour Bart, la modif porte sur quoi, j'ai testé plusieurs fois la version précédente ça me paraissait très bon, j'ai testé la nouvelle c'est toujours ok. Je ne suis pas assez pointu pour comprendre tout. Merci de m'éclairer un peu.

Cordialement

re,

c'est concernant la création de "Arr"

hier : arr = Evaluate("test*100+row(test)+(column(test)+rand())/100") 'matrice qui montre les cellules en problèmes avec leur n° de ligne et colonne + valeur aléatoire

vs

aujourd'hui : arr = Evaluate("test*100+row(test)+column(test)/100") 'matrice qui montre les cellules en problèmes avec leur n° de ligne et colonne + valeur aléatoire

la plage nommée "Test", c'est AQ8:AT15, donc 8 lignes * 4 colonnes et ce "Arr" était supposé de créer une matrice de 8x4 avec la valeur de la cellule *100 + la ligne de la cellule + la colonne de la cellule /100 + une valeur aléatoire /100. J'ai supprimé ce dernier argument pour 2 raisons, 1 il était inutile parce qu'il se trouvait à la queue mais surtout il donnait pour les 32 éléments de la matrice le même valeur aléatoire et donc l'astuce "aléatoire" était perdu.

Maintenant vous pouvez constater que je le fais différament. Je compte le nombre de cellules >0 dans cette plage. Si il y a par exemple 3 (les lignes sont de 8 à 15, les colonne de 43 à 46), on pouvait avoir des valeurs comme 108,43 = la celule la ligne 8 et colonne 43 (AQ8) contient la valeur 1.

N = WorksheetFunction.CountIf(Range("test"), ">=1") 'nombre de cellules "doublons"
N1 = WorksheetFunction.RandBetween(1, N) 'une cellule aléatoire des cellules en problèmes
Do
N2 = WorksheetFunction.RandBetween(1, 32) 'une cellules aléatoire des 32
Loop While N1 = N2 'les 2 ne peuvent pas être égal

Avec N on sait les nombre de cellules avec un doublon dans la plage "Test" et on choisit aléatoire une de ces N avec N1. Puis on prend une 2eme cellule qui est différente de la première (N1<>N2)

un moment ....

sorry pour le delai,

maintenant la macro "tirage2" en slowmotion.

la plage grise, c'est "Arr", donc de la plage AQ8:AT15 la valeur *100 + numéro de la ligne + numéro de la colonne/100

Dans 3 plages, vous verrez les mêmes cellules en orange = les doublons > ce chiffre en rouge (évidemment paire !!!).

Puis vous verrez chaque fois 2 cellules vertes, qui seront échangées.

à vitesse réduite c'est impressionnant, merci pour toutes ces explications, ça donne vraiment envi de s'intéresser un peu plus à excel.

Merci, bien cordialement

Rechercher des sujets similaires à "tirage sort groupes equipes"