OVH Cloud OVH Cloud

SOS...SOS...SOS...TRI ALEAOIRE

3 réponses
Avatar
jeancharles
bonjour à tous les EXCELlents forumnautes!
je souhaiterai une formule qui puisse me permettre de ressortir 2 noms de
manière aléatoire dans une liste de 50 noms
merci d'avance
jeancharles P

3 réponses

Avatar
Rai
jeancharles wrote:
bonjour à tous les EXCELlents forumnautes!
je souhaiterai une formule qui puisse me permettre de ressortir 2
noms de manière aléatoire dans une liste de 50 noms
merci d'avance
jeancharles P


Bonjour

Tu peux te baser sur la procédure suivante,
elle part du principe que tes 50 noms sont stockés dans les cellules A1 à A50 de la feuille active

sub tirage()
A1 = CStr(Cells(Int(Rnd() * 50) + 1, 1))
Do
A2 = CStr(Cells(Int(Rnd() * 50) + 1, 1))
If A2 <> A1 Then Exit Do
Loop
MsgBox A1 & " " & A2
end sub



--
Cordialement,

Rai
Remplacer point par la ponctuation appropriée pour répondre...

Avatar
Philippe.R
Bonjour Jean Charles,
En c1àc50 la liste de noms nommée lesnoms
En a1 et en a2 la formule
=ALEA.ENTRE.BORNES(1;50)
en b1
=INDEX(lesnoms;A1)
en b2
=INDEX(lesnoms;A1)
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"jeancharles" a écrit dans le message de
news:40c44fb7$0$27487$
bonjour à tous les EXCELlents forumnautes!
je souhaiterai une formule qui puisse me permettre de ressortir 2 noms de
manière aléatoire dans une liste de 50 noms
merci d'avance
jeancharles P




Avatar
Nicolas B.
Salut,

Il existe aussi une solution sans macros :
En A1:A50, les noms.
En B1, le premier nom au hasard selon la formule :
=INDEX(A1:A50;ENT(50*ALEA()))

Et en B2, le deuxième nom, au hasard (mais différent du premier) :
=INDEX(A1:A50;MOD(EQUIV(B1;A1:A50)+ENT(49*ALEA());50)+1)


A+
--
Nicolas B.


jeancharles wrote:
bonjour à tous les EXCELlents forumnautes!
je souhaiterai une formule qui puisse me permettre de ressortir 2
noms de manière aléatoire dans une liste de 50 noms
merci d'avance
jeancharles P


Bonjour

Tu peux te baser sur la procédure suivante,
elle part du principe que tes 50 noms sont stockés dans les cellules
A1 à A50 de la feuille active

sub tirage()
A1 = CStr(Cells(Int(Rnd() * 50) + 1, 1))
Do
A2 = CStr(Cells(Int(Rnd() * 50) + 1, 1))
If A2 <> A1 Then Exit Do
Loop
MsgBox A1 & " " & A2
end sub



--
Cordialement,

Rai
Remplacer point par la ponctuation appropriée pour répondre...