Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment réaliser un tirage au sort dans Excel?

15 réponses
Avatar
Bib
Parmi un ensemble de données (environ 500 unités) je cherche à en tirer 30 au
sort pour déterminer un échantillon aléatoire d'analyse statistique : est ce
possible sous excell, et si oui quel fonction doit on utiliser.

10 réponses

1 2
Avatar
Théo
Pourquoi ne pas essayer la fonction ALEA( ) ???

"Bib" a écrit :

Parmi un ensemble de données (environ 500 unités) je cherche à en tirer 30 au
sort pour déterminer un échantillon aléatoire d'analyse statistique : est ce
possible sous excell, et si oui quel fonction doit on utiliser.


Avatar
FFO
Salut à toi

solution Macro
En colonne A tes données
En colonne B le choix

Je te propose ce code :

Columns("B:B").Clear
For i = 1 To 50
Range("B" & Int((500 * Rnd) + 1)) = 1
Next

l'exécution du code mets aléatoirement un chiffre 1 colonne B en regard
d'une donnée colonne A sur 50 d'entre elles

Reste à filtrer ou trier pour les regrouper

Une solution dis moi !!!!!
Avatar
LSteph
Bonjour,

Parmi un ensemble de données (environ 500 unités) je cherche à en t irer 30


cela signifierait donc qu'on ne doit tirer qu'une seule fois la même
valeur

On pourrait dans ce cas partir des suggestions précédentes mais aussi
simplement
on court le risque d'avoir deux fois la même valeur.

Aussi je te suggérerais de mettre =alea() dans la colonne adjacente
aux 500 items sélectionnés et de trier
les deux colonnes sur la colonne où tu as mis alea().

Comme ca le hasard déterminera un choix sur les 30 premiers obtenus!.

--
lSteph


On 20 oct, 14:34, Bib wrote:
Parmi un ensemble de données (environ 500 unités) je cherche à en t irer 30 au
sort pour déterminer un échantillon aléatoire d'analyse statistique : est ce
possible sous excell, et si oui quel fonction doit on utiliser.


Avatar
LSteph
Re, Bonjour,

désolé (j'ai mal vu) FFO en lisant ton post , on propose effectivement
la même chose , toi en VBA et moi en formule..

--
lSteph


Bonjour,

> Parmi un ensemble de données (environ 500 unités) je cherche à en tirer 30

cela signifierait donc qu'on ne doit tirer qu'une seule fois la même
valeur

On pourrait dans ce cas partir des suggestions précédentes mais aussi
simplement
on court le risque d'avoir deux fois la même valeur.

Aussi je te suggérerais de mettre =alea() dans la colonne adjacente
aux 500 items sélectionnés et de trier
les deux colonnes sur la colonne où tu as mis alea().

Comme ca le hasard déterminera un choix sur les 30 premiers obtenus!.

--
lSteph

On 20 oct, 14:34, Bib wrote:



> Parmi un ensemble de données (environ 500 unités) je cherche à en tirer 30 au
> sort pour déterminer un échantillon aléatoire d'analyse statistiq ue : est ce
> possible sous excell, et si oui quel fonction doit on utiliser.- Masque r le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Jacky
http://www.cijoint.fr/cjlink.php?file=cj200910/cijs9J8ung.xls
Avatar
FFO
Bonjour LSteph

Pas de mal ta démarche était louable
Il est bon d'avoir un oeil critique sur des propositions suceptibles
d'imperfection et les miènnes n'en sont pas exempt

Au plaisir
Avatar
Caetera
"FFO" a écrit dans le message de news:


Il est bon d'avoir un oeil critique sur des propositions suceptibles
d'imperfection et les miènnes n'en sont pas exempt



Notamment la dernière... !

L'instruction
Range("B" & Int((500 * Rnd) + 1)) = 1
n'est pas exempte d'un tirage de doublons (quasiment à tous les coups !) et donc
d'un nombre de fois 1 < au 50 tirages demandés et donc....

Etc'
Avatar
LSteph
...et donc..
..bien là concrètement cela n'empeche absolument pas de faire ce tri
Excel fera quand même un choix "apparemment" arbitraire.
La prop de FFO reste donc , sauf erreur de ma part valide!
Sinon quand on utilise des rnd
on peut aussi mettre randomize en haut du code pour être sûr qu'à
chaque fois ce soit réellement aléatoire!


--
lSteph

On 21 oct, 08:10, "Caetera" <EtiennePloufCahé@wanadoo.fr> wrote:
"FFO" a écrit dans le message de news:


> Il est bon d'avoir un oeil critique sur des propositions suceptibles
> d'imperfection et les miènnes n'en sont pas exempt

Notamment la dernière... !

L'instruction
Range("B" & Int((500 * Rnd) + 1)) = 1
n'est pas exempte d'un tirage de doublons (quasiment à tous les coups ! ) et donc
d'un nombre de fois 1 < au 50 tirages demandés et donc....

Etc'


Avatar
LSteph
;o)) Alors , bonjour Jacky,

Tout à fait d'accord!
et tu peux même l'écrire comme cela ca reste.

--
LSteph

Sub Aléatoire()
'd'après L Longre
   Columns(2).Clear
   Dim Arr(1 To 500, 1 To 1) As Integer
   Dim i As Integer, J As Integer, K As Integer
   For i = 1 To 500
     Arr(i, 1) = Cells(i, 1)
   Next i
   Randomize Timer
   For i = 1 To 30
     J = Int(Rnd * (501 - i)) + 1
     K = Arr(i, 1)
     Arr(i, 1) = Arr(J, 1)
     Arr(J, 1) = K
   Next i
   [b1:b30] = Arr
End Sub


On 20 oct, 18:11, "Jacky" wrote:
http://www.cijoint.fr/cjlink.php?file=cj200910/cijs9J8ung.xls


Avatar
FFO
Bonjour à toi

Effectivement avec ma solution des doublons en perspective
Mais comme ceci plus de souci :

Columns("B:B").Clear
For i = 1 To 50
Ligne = Int((500 * Rnd) + 1)
Do While Tirage Like "*/" & Ligne & "/*" = True
Ligne = Int((500 * Rnd) + 1)
Loop
Range("B" & Ligne) = 1
Tirage = Tirage & "/" & Ligne & "/"
Next

Qu'en penses tu ?????
1 2