OVH Cloud OVH Cloud

question à bourby

4 réponses
Avatar
vincent
je vais essayer de t'expliquer autrement pour que tu
comprennes pourquoi je veux utiliser la fonction
ALEA.ENTRE.BORNE.

je fais partis d'un club de petanque et je voudrais faire
un logiciel ou celui-ci pourrait entre-autre realiser le
tirage au sort des equipes inscrites au concours.Par
exemple que l'equipe 1 rencontre la 20 ou bien que l'equipe
2 rencontre la 10 etc..et le probleme avec la fonction
ALEA.ENTRE.BORNES il peut arriver que l'equipes 1 rencontre
l'equipes 1.Si tu a une id=E9e sur la facon de realiser un
tirage au sort par ordinateur je t'en remercie d'avance.

4 réponses

Avatar
Bourby
bonsoir,
je n'ai pas assez de temps pour une solution
prête à l'emploi;
d'ailleurs il me semble qu'elles existent;
voir Excelabo ou reposer ta question sur le forum
en demandant carrément la solution pour
un tournoi.

Je ne vois pas comment de simples formules peuvent répondre
à ton problème. En effet, tu veux réaliser un tirage exhaustif,
c'est à dire qu'une équipe qui a déjà été tirée au sort sur
la ligne 1 ne doit pas participer au tirage à partir de la ligne 2;
de même, une équipe tirée ligne 2 ne doit plus participer au tirage
à partir de la ligne 3; etc...
Une macro permettrait de gérer ça sans difficulté.

Si on veut absolument travailler avec des formules,
je pense qu'il faut ajouter des clonnes,
(en plus de la A et de la B qui désignent les équipes
qui s'affronteront),
par exemple dans l'esprit suivant, pour 20 équipes:
en A1, 1 (pour équipe n°1); en C1: 19 (nb d'équipes pour le tirage au sort),
de D1àV1: 2, 3, 4, .....20 (les adversaires potentiels),
en B1: alea.entre.bornes(1;C1) (= l'adversaire de l'équipe 1).
L'astuce est de supprimer la valeur de B1 de la liste D1:V1
et de compacter le tout (donc V1 sera vide), je te laisse
chercher la formule qui le permet, en utilisant colonne()-2
et un test sur la valeur de B1.
à partir du 2ème "match", même principe, avec les modifs suivantes
(il va nous falloir 2 lignes par match):
C2, C3= 17
A2=index(D1:U1;;alea.entre.bornes(1;C2))
en D2:T2, il faut compacter la liste des équipes "restantes"
(en enlevant le n° tiré en A2)
et en B2: index(D2:T2;;alea.entre.bornes(1;C3)),
puis en D3:S3, compacter encore la liste en enlevant le n° tiré en B2.

On est ainsi prêts à tirer le 3ème match sur les lignes 4 et 5
etc....

bon courage

Bourby


"vincent" a écrit dans le message news:
1088d01c43ff2$744040e0$
je vais essayer de t'expliquer autrement pour que tu
comprennes pourquoi je veux utiliser la fonction
ALEA.ENTRE.BORNE.

je fais partis d'un club de petanque et je voudrais faire
un logiciel ou celui-ci pourrait entre-autre realiser le
tirage au sort des equipes inscrites au concours.Par
exemple que l'equipe 1 rencontre la 20 ou bien que l'equipe
2 rencontre la 10 etc..et le probleme avec la fonction
ALEA.ENTRE.BORNES il peut arriver que l'equipes 1 rencontre
l'equipes 1.Si tu a une idée sur la facon de realiser un
tirage au sort par ordinateur je t'en remercie d'avance.
Avatar
LeSteph
Bonsoir,
Idée:
En colonne A de 1 à 20
les équipes qui se rencontreront par paires a1 avec a2 a3 avec a4...
en colonne B =alea()
tout court et qui renvoie une valeur infinitésimale peu de chance
d'avoir la même deux fois et sinon excel choisira.
Copier coller spécial valeurs , on trie A et B, sur B.
Et voili!

LeSteph

"Bourby" a écrit dans le message de
news:
bonsoir,
je n'ai pas assez de temps pour une solution
prête à l'emploi;
d'ailleurs il me semble qu'elles existent;
voir Excelabo ou reposer ta question sur le forum
en demandant carrément la solution pour
un tournoi.

Je ne vois pas comment de simples formules peuvent répondre
à ton problème. En effet, tu veux réaliser un tirage exhaustif,
c'est à dire qu'une équipe qui a déjà été tirée au sort sur
la ligne 1 ne doit pas participer au tirage à partir de la ligne 2;
de même, une équipe tirée ligne 2 ne doit plus participer au tirage
à partir de la ligne 3; etc...
Une macro permettrait de gérer ça sans difficulté.

Si on veut absolument travailler avec des formules,
je pense qu'il faut ajouter des clonnes,
(en plus de la A et de la B qui désignent les équipes
qui s'affronteront),
par exemple dans l'esprit suivant, pour 20 équipes:
en A1, 1 (pour équipe n°1); en C1: 19 (nb d'équipes pour le tirage au
sort),

de D1àV1: 2, 3, 4, .....20 (les adversaires potentiels),
en B1: alea.entre.bornes(1;C1) (= l'adversaire de l'équipe 1).
L'astuce est de supprimer la valeur de B1 de la liste D1:V1
et de compacter le tout (donc V1 sera vide), je te laisse
chercher la formule qui le permet, en utilisant colonne()-2
et un test sur la valeur de B1.
à partir du 2ème "match", même principe, avec les modifs suivantes
(il va nous falloir 2 lignes par match):
C2, C3= 17
A2=index(D1:U1;;alea.entre.bornes(1;C2))
en D2:T2, il faut compacter la liste des équipes "restantes"
(en enlevant le n° tiré en A2)
et en B2: index(D2:T2;;alea.entre.bornes(1;C3)),
puis en D3:S3, compacter encore la liste en enlevant le n° tiré en B2.

On est ainsi prêts à tirer le 3ème match sur les lignes 4 et 5
etc....

bon courage

Bourby


"vincent" a écrit dans le message news:
1088d01c43ff2$744040e0$
je vais essayer de t'expliquer autrement pour que tu
comprennes pourquoi je veux utiliser la fonction
ALEA.ENTRE.BORNE.

je fais partis d'un club de petanque et je voudrais faire
un logiciel ou celui-ci pourrait entre-autre realiser le
tirage au sort des equipes inscrites au concours.Par
exemple que l'equipe 1 rencontre la 20 ou bien que l'equipe
2 rencontre la 10 etc..et le probleme avec la fonction
ALEA.ENTRE.BORNES il peut arriver que l'equipes 1 rencontre
l'equipes 1.Si tu a une idée sur la facon de realiser un
tirage au sort par ordinateur je t'en remercie d'avance.




Avatar
Jean-François Aubert
Salut Vincent,

Il y a par ici un truc qui peut éventuellement t'intéresser:

http://disciplus.simplex.free.fr/classeursxl/jfa-tirageausort.zip

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"vincent" a écrit dans le message de
news:1088d01c43ff2$744040e0$
je vais essayer de t'expliquer autrement pour que tu
comprennes pourquoi je veux utiliser la fonction
ALEA.ENTRE.BORNE.

je fais partis d'un club de petanque et je voudrais faire
un logiciel ou celui-ci pourrait entre-autre realiser le
tirage au sort des equipes inscrites au concours.Par
exemple que l'equipe 1 rencontre la 20 ou bien que l'equipe
2 rencontre la 10 etc..et le probleme avec la fonction
ALEA.ENTRE.BORNES il peut arriver que l'equipes 1 rencontre
l'equipes 1.Si tu a une idée sur la facon de realiser un
tirage au sort par ordinateur je t'en remercie d'avance.
Avatar
LeSteph
ReBonsoir,
Pour reprendre l'exemple Nom des Equipes de A1 à A20
Colonne b réservée au tri,en VBA:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
For Each c In [a:a].Cells
If c <> "" Then
Cells(c.Row, 2) = Rnd
Else

Exit For
End If
Next c
[a:b].Sort key1:=Range("b1")
For Each d In [b:b].Cells
If d <> "" Then
d.Value = ""
Else

Exit For
End If
Next d
Application.ScreenUpdating = True
End Sub

LeSteph
"Jean-François Aubert" <à a écrit dans le message de
news:%
Salut Vincent,

Il y a par ici un truc qui peut éventuellement t'intéresser:

http://disciplus.simplex.free.fr/classeursxl/jfa-tirageausort.zip

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"vincent" a écrit dans le message de
news:1088d01c43ff2$744040e0$
je vais essayer de t'expliquer autrement pour que tu
comprennes pourquoi je veux utiliser la fonction
ALEA.ENTRE.BORNE.

je fais partis d'un club de petanque et je voudrais faire
un logiciel ou celui-ci pourrait entre-autre realiser le
tirage au sort des equipes inscrites au concours.Par
exemple que l'equipe 1 rencontre la 20 ou bien que l'equipe
2 rencontre la 10 etc..et le probleme avec la fonction
ALEA.ENTRE.BORNES il peut arriver que l'equipes 1 rencontre
l'equipes 1.Si tu a une idée sur la facon de realiser un
tirage au sort par ordinateur je t'en remercie d'avance.