Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

comment réaliser un tirage au sort dans Excel?

635 views
Skip to first unread message

Bib

unread,
Oct 20, 2009, 8:34:01 AM10/20/09
to
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.

Théo

unread,
Oct 20, 2009, 10:51:06 AM10/20/09
to
Pourquoi ne pas essayer la fonction ALEA( ) ???

"Bib" a écrit :

FFO

unread,
Oct 20, 2009, 11:07:00 AM10/20/09
to
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 !!!!!


LSteph

unread,
Oct 20, 2009, 11:38:44 AM10/20/09
to
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

LSteph

unread,
Oct 20, 2009, 11:44:53 AM10/20/09
to
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

> > possible sous excell, et si oui quel fonction doit on utiliser.- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -

Jacky

unread,
Oct 20, 2009, 12:11:53 PM10/20/09
to

FFO

unread,
Oct 21, 2009, 2:00:01 AM10/21/09
to
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

Caetera

unread,
Oct 21, 2009, 2:10:59 AM10/21/09
to
"FFO" <F...@discussions.microsoft.com> a �crit dans le message de news:
27B5DA71-6358-4926...@microsoft.com...

> 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'


LSteph

unread,
Oct 21, 2009, 6:13:01 AM10/21/09
to
...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" <F...@discussions.microsoft.com> a écrit dans le message de news:
> 27B5DA71-6358-4926-AF8D-94A81E0F0...@microsoft.com...


>
> > 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'

LSteph

unread,
Oct 21, 2009, 6:16:16 AM10/21/09
to
;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" <Dup...@marcel.fr> wrote:
> http://www.cijoint.fr/cjlink.php?file=cj200910/cijs9J8ung.xls

FFO

unread,
Oct 21, 2009, 8:31:01 AM10/21/09
to
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 ?????

Caetera

unread,
Oct 21, 2009, 8:42:59 AM10/21/09
to
"LSteph" <gmls...@gmail.com> a �crit dans le message de news:
66b7b6b2-1695-441f...@k26g2000vbp.googlegroups.com...
>...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!

La macro ne sortira pratiquement jamais la valeur 1 donc... quand on fera un
filtre sur les 1 (colonne B), comme il n'y en aura pratiquement jamais 50, on ne
sortira pratiquement jamais 50 valeurs de la col A
Teste...

Etc


Caetera

unread,
Oct 21, 2009, 8:46:24 AM10/21/09
to
> Effectivement avec ma solution des doublons en perspective
> Mais comme ceci plus de souci :
.......

> Qu'en penses tu ?????

Sans �tre forc�ment d'accord sur la m�thode (mais �a...), le r�sultat
correspondra bien � la question !

Etc


Caetera

unread,
Oct 21, 2009, 8:49:55 AM10/21/09
to
> La macro ne sortira pratiquement jamais la valeur 1

Lire : "La macro ne sortira pratiquement jamais 50 fois la valeur 1"


LSteph

unread,
Oct 21, 2009, 10:39:56 AM10/21/09
to
;o))
> >..bien là concrètement cela n'empeche absolument pas de faire ce tri

Pas parlé de filtre mais de tri! qu'il commencent à 3 ou 51
n'empêchera pas d'avoir les 30 premiers!

@+


On 21 oct, 14:42, "Caetera" <EtiennePloufCahé@wanadoo.fr> wrote:
> "LSteph" <gmlst...@gmail.com> a écrit dans le message de news:
> 66b7b6b2-1695-441f-96b8-c5300ca73...@k26g2000vbp.googlegroups.com...
>
> >...et donc..
> >..bien là concrètement cela n'empeche absolument pas de faire ce tri
> >Excel fera  quand même un choix "apparemment" arbitraire.

Jean MARTIN

unread,
Oct 21, 2009, 12:53:10 PM10/21/09
to
Bonjour,

Je m'étonne que, dans ce fil, il n'ait été fait aucune mention de la
fonction ALEAS (avec s) que l'on peut trouver dans le recueil de fonctions
MOREFUNC (téléchargeable) de Laurent Longre. Cette fonction permet de sortir
des séries aléatoires sans doublons.

Jean


"Bib" <B...@discussions.microsoft.com> a écrit dans le message de
news:D59BF04C-63B0-4476...@microsoft.com...

0 new messages