OVH Cloud OVH Cloud

série de tirages

4 réponses
Avatar
NA
Bonjour,

Le contexte est que j'ai n joueurs et je veux organiser des matchs en équipe
de 2 à chaque semaine, en m'assurant que tout le monde jouera avec tout le
monde. Il s'agit donc de plusieurs tirages consécutifs avec la contrainte
que les joueurs ne jouent qu'une seule fois avec chacun des autres joueurs.
Existe-t-il une macro Excel qui peut faire ceci?

Merci à l'avance.

4 réponses

Avatar
Philippe
Salut

c comme au loto ^^ pour savoir le normbre de posibilité
a = (49*48*47*46*45*44)/(1*2*3*4*5*6)
donc idem pour toi
a = (nbjoueur * nbjoueur-1)/(1*2)

donc en A1 tu met le nombre de joueur
en A2 sortira le nombre de match
et les Axx les affrontement

Dim Info1 As Single, n As Single, m As Single
Info1 = Cells(1, 1)
Info2 = (Info1 * (Info1 - 1)) / 2
Cells(2, 1) = Info2
For n = 1 To Info1 - 1
For m = n + 1 To Info1
Cells(3 + A, 1) = "'" & n & " - " & m
A = A + 1
Next
Next

++

"NA" a écrit dans le message de
news:pvk6d.26145$
Bonjour,

Le contexte est que j'ai n joueurs et je veux organiser des matchs en
équipe

de 2 à chaque semaine, en m'assurant que tout le monde jouera avec tout le
monde. Il s'agit donc de plusieurs tirages consécutifs avec la contrainte
que les joueurs ne jouent qu'une seule fois avec chacun des autres
joueurs.

Existe-t-il une macro Excel qui peut faire ceci?

Merci à l'avance.




Avatar
alain.bazire
A Phillipe. Peux tu me dire ce que veulent dire en francais les mots de cette
petite macro STP . Merci . Alain


Salut

c comme au loto ^^ pour savoir le normbre de posibilité
a = (49*48*47*46*45*44)/(1*2*3*4*5*6)
donc idem pour toi
a = (nbjoueur * nbjoueur-1)/(1*2)

donc en A1 tu met le nombre de joueur
en A2 sortira le nombre de match
et les Axx les affrontement

Dim Info1 As Single, n As Single, m As Single
Info1 = Cells(1, 1)
Info2 = (Info1 * (Info1 - 1)) / 2
Cells(2, 1) = Info2
For n = 1 To Info1 - 1
For m = n + 1 To Info1
Cells(3 + A, 1) = "'" & n & " - " & m
A = A + 1
Next
Next

++

"NA" a écrit dans le message de
news:pvk6d.26145$
Bonjour,

Le contexte est que j'ai n joueurs et je veux organiser des matchs en
équipe

de 2 à chaque semaine, en m'assurant que tout le monde jouera avec tout le
monde. Il s'agit donc de plusieurs tirages consécutifs avec la contrainte
que les joueurs ne jouent qu'une seule fois avec chacun des autres
joueurs.

Existe-t-il une macro Excel qui peut faire ceci?

Merci à l'avance.









Avatar
Clément Marcotte
Bonjour,

très synthétique:

Dim Info1 As Single, n As Single, m As Single


À l'origine DIm servait uniquement à définir des tableaux, maintenant
sert aussi pour désigner le type de variable. Dans ce cas, il s'agit
de définir les variables Info1, n et m comme étant des nombres à
virgule flottant en précision simple. (Environ 7 chiffres
significatifs)

Parmi les autres type de variable, il y a le type String (chaînes de
caractères), les types Integer et long (des entiers), le type double
(nombre en girgule flottante en double précision - 16 chiffres
significatifs) et quelques autres(


Info1 = Cells(1, 1)

Affecter à la variable Info, la valeur (propriété implicite), de la
cellule (Cells) située à l'intersection de la première ligne et de la
première colonne de la feuille de calcul. Équivalent à
cells(1,1).value ou Range("a1").value

Info2 = (Info1 * (Info1 - 1)) / 2
Cells(2, 1) = Info2

Calculer la valeur de la variable Info2 et la mettre dans la cellule à
l'intersection de la 2e ligne et de la première colonne soit a2.

On pourrait aussi regrouper ces deux lignes en une seule ligne:

cells(2,1) = (Info1 * (Info1 - 1)) / 2)

ou

cells(2,1).value = (Info1 * (Info1 - 1)) / 2)

ou

Range("a2").value = (Info1 * (Info1 - 1)) / 2)

For n = 1 To Info1 - 1
For m = n + 1 To Info1
Cells(3 + A, 1) = "'" & n & " - " & m
A = A + 1
Next
Next

Il s'agit de deux boucles comptées imbriquées qui servent à mettre les
équipes 2 par deux dans une plage de cellules

For n = 1 To Info1 - 1

Boucle pour donner l'équipe de gauche

For m = n + 1 To Info1

Boucle pour l'équipe de droite

Pendant que la première boucle est à 1, la seconde commence à 2 et
passe successivement à , 3 , 4 etc. Ensuite la première boucle passe à
2 et la seconde commence `3 et continnue à 4, 5 , 6 etc.

Le premier next incrémente la boucle intérieure, et le second
incrémente la boucle extérieure.

Cells(3 + A, 1) = "'" & n & " - " & m
A = A + 1

Écris les couples d'équipes à partir de la 3e ligne. Puisque A n'a pas
eu de valeur affectée, elle vaut 0 à la première utilisation.

Ligne 3+ 0 = 3

colonne = 1

Au second passage, a = 1 elt la ligne devient 4 etc.
""
a écrit dans le
message de news:
A Phillipe. Peux tu me dire ce que veulent dire en francais les mots
de cette

petite macro STP . Merci . Alain


Salut

c comme au loto ^^ pour savoir le normbre de posibilité
a = (49*48*47*46*45*44)/(1*2*3*4*5*6)
donc idem pour toi
a = (nbjoueur * nbjoueur-1)/(1*2)

donc en A1 tu met le nombre de joueur
en A2 sortira le nombre de match
et les Axx les affrontement


++

"NA" a écrit dans le message de
news:pvk6d.26145$
Bonjour,

Le contexte est que j'ai n joueurs et je veux organiser des
matchs en



équipe
de 2 à chaque semaine, en m'assurant que tout le monde jouera
avec tout le



monde. Il s'agit donc de plusieurs tirages consécutifs avec la
contrainte



que les joueurs ne jouent qu'une seule fois avec chacun des
autres



joueurs.
Existe-t-il une macro Excel qui peut faire ceci?

Merci à l'avance.











Avatar
alain.bazire
Merci de tes commentaires j'espere qu'ils vont m'aider a commencer un peu les
macros. Alain


Bonjour,

très synthétique:

Dim Info1 As Single, n As Single, m As Single


À l'origine DIm servait uniquement à définir des tableaux, maintenant
sert aussi pour désigner le type de variable. Dans ce cas, il s'agit
de définir les variables Info1, n et m comme étant des nombres à
virgule flottant en précision simple. (Environ 7 chiffres
significatifs)

Parmi les autres type de variable, il y a le type String (chaînes de
caractères), les types Integer et long (des entiers), le type double
(nombre en girgule flottante en double précision - 16 chiffres
significatifs) et quelques autres(


Info1 = Cells(1, 1)

Affecter à la variable Info, la valeur (propriété implicite), de la
cellule (Cells) située à l'intersection de la première ligne et de la
première colonne de la feuille de calcul. Équivalent à
cells(1,1).value ou Range("a1").value

Info2 = (Info1 * (Info1 - 1)) / 2
Cells(2, 1) = Info2

Calculer la valeur de la variable Info2 et la mettre dans la cellule à
l'intersection de la 2e ligne et de la première colonne soit a2.

On pourrait aussi regrouper ces deux lignes en une seule ligne:

cells(2,1) = (Info1 * (Info1 - 1)) / 2)

ou

cells(2,1).value = (Info1 * (Info1 - 1)) / 2)

ou

Range("a2").value = (Info1 * (Info1 - 1)) / 2)

For n = 1 To Info1 - 1
For m = n + 1 To Info1
Cells(3 + A, 1) = "'" & n & " - " & m
A = A + 1
Next
Next

Il s'agit de deux boucles comptées imbriquées qui servent à mettre les
équipes 2 par deux dans une plage de cellules

For n = 1 To Info1 - 1

Boucle pour donner l'équipe de gauche

For m = n + 1 To Info1

Boucle pour l'équipe de droite

Pendant que la première boucle est à 1, la seconde commence à 2 et
passe successivement à , 3 , 4 etc. Ensuite la première boucle passe à
2 et la seconde commence `3 et continnue à 4, 5 , 6 etc.

Le premier next incrémente la boucle intérieure, et le second
incrémente la boucle extérieure.

Cells(3 + A, 1) = "'" & n & " - " & m
A = A + 1

Écris les couples d'équipes à partir de la 3e ligne. Puisque A n'a pas
eu de valeur affectée, elle vaut 0 à la première utilisation.

Ligne 3+ 0 = 3

colonne = 1

Au second passage, a = 1 elt la ligne devient 4 etc.
""
a écrit dans le
message de news:
A Phillipe. Peux tu me dire ce que veulent dire en francais les mots
de cette

petite macro STP . Merci . Alain


Salut

c comme au loto ^^ pour savoir le normbre de posibilité
a = (49*48*47*46*45*44)/(1*2*3*4*5*6)
donc idem pour toi
a = (nbjoueur * nbjoueur-1)/(1*2)

donc en A1 tu met le nombre de joueur
en A2 sortira le nombre de match
et les Axx les affrontement


++

"NA" a écrit dans le message de
news:pvk6d.26145$
Bonjour,

Le contexte est que j'ai n joueurs et je veux organiser des
matchs en



équipe
de 2 à chaque semaine, en m'assurant que tout le monde jouera
avec tout le



monde. Il s'agit donc de plusieurs tirages consécutifs avec la
contrainte



que les joueurs ne jouent qu'une seule fois avec chacun des
autres



joueurs.
Existe-t-il une macro Excel qui peut faire ceci?

Merci à l'avance.