Je veux générer des nombres aléatoires en VBA avec les instructions
Randomize
x = Rnd()
Ces instructions sont dans des boucles (~1000 tours). Elles sont entourées
de bon nombre d'instructions.
Je constate que les nombres générés ont une certaine périodicité. De plus,
chaque fois que j'exécute le programme, je retrouve les mêmes nombres.
J'ai réalisé des petites macro du style
for i=1 to 1000
Randomize
cells(i,1)=Rnd()
next i
ou
for i=1 to 50
for j= 1 to 20
Randomize
cells(i,1)=Rnd()
next j
next i
...
Dans ces cas le problème n'apparait pas.
Il me semble que ce problème n'existait pas dans Excel < Vers 2000?.
Quelqu'un peut-il m'aider à trouver une solution?
L'aide ne m'avance pas dans la compréhension de ces fonctions. C'est quoi la
"seed"? C'est quoi la sequence aléatoire générée par rnd()?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JièL Goubert
Bonjoir(c) Christian Lamotte
Pas du tout spécialiste en VBA, j'ai déjà vu ce pb dans d'autre languages... en fait, la fonction randomize utilisée sans arguments utilise toujours la même série de nombre
donc, essaye avec un truc du genre Randomize(Timer) ou dans ce gout la (les spécialistes corrigerons)
Tmier, dans ce cas, tu donneras une valeur correspondant à l'heure (secondes et centième compris) mais en valeur entière (... me semble t'il)
-- JièL / Jean-Louis GOUBERT La FAQ Outlook est la : http://faq.outlook.free.fr Celle d'Outlook Express ici : www.faqOE.com
Le 18/04/2004 16:18 vous nous disiez ceci :
Bonjour à tous,
Je veux générer des nombres aléatoires en VBA avec les instructions
Randomize x = Rnd()
Ces instructions sont dans des boucles (~1000 tours). Elles sont entourées de bon nombre d'instructions. Je constate que les nombres générés ont une certaine périodicité. De plus, chaque fois que j'exécute le programme, je retrouve les mêmes nombres.
J'ai réalisé des petites macro du style
for i=1 to 1000 Randomize cells(i,1)=Rnd() next i
ou for i=1 to 50 for j= 1 to 20 Randomize cells(i,1)=Rnd() next j next i ...
Dans ces cas le problème n'apparait pas. Il me semble que ce problème n'existait pas dans Excel < Vers 2000?.
Quelqu'un peut-il m'aider à trouver une solution?
L'aide ne m'avance pas dans la compréhension de ces fonctions. C'est quoi la "seed"? C'est quoi la sequence aléatoire générée par rnd()?
Merci
Bonjoir(c) Christian Lamotte
Pas du tout spécialiste en VBA, j'ai déjà vu ce pb dans d'autre
languages... en fait, la fonction randomize utilisée sans arguments
utilise toujours la même série de nombre
donc, essaye avec un truc du genre Randomize(Timer) ou dans ce gout la
(les spécialistes corrigerons)
Tmier, dans ce cas, tu donneras une valeur correspondant à l'heure
(secondes et centième compris) mais en valeur entière (... me semble t'il)
--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr
Celle d'Outlook Express ici : www.faqOE.com
Le 18/04/2004 16:18 vous nous disiez ceci :
Bonjour à tous,
Je veux générer des nombres aléatoires en VBA avec les instructions
Randomize
x = Rnd()
Ces instructions sont dans des boucles (~1000 tours). Elles sont entourées
de bon nombre d'instructions.
Je constate que les nombres générés ont une certaine périodicité. De plus,
chaque fois que j'exécute le programme, je retrouve les mêmes nombres.
J'ai réalisé des petites macro du style
for i=1 to 1000
Randomize
cells(i,1)=Rnd()
next i
ou
for i=1 to 50
for j= 1 to 20
Randomize
cells(i,1)=Rnd()
next j
next i
...
Dans ces cas le problème n'apparait pas.
Il me semble que ce problème n'existait pas dans Excel < Vers 2000?.
Quelqu'un peut-il m'aider à trouver une solution?
L'aide ne m'avance pas dans la compréhension de ces fonctions. C'est quoi la
"seed"? C'est quoi la sequence aléatoire générée par rnd()?
Pas du tout spécialiste en VBA, j'ai déjà vu ce pb dans d'autre languages... en fait, la fonction randomize utilisée sans arguments utilise toujours la même série de nombre
donc, essaye avec un truc du genre Randomize(Timer) ou dans ce gout la (les spécialistes corrigerons)
Tmier, dans ce cas, tu donneras une valeur correspondant à l'heure (secondes et centième compris) mais en valeur entière (... me semble t'il)
-- JièL / Jean-Louis GOUBERT La FAQ Outlook est la : http://faq.outlook.free.fr Celle d'Outlook Express ici : www.faqOE.com
Le 18/04/2004 16:18 vous nous disiez ceci :
Bonjour à tous,
Je veux générer des nombres aléatoires en VBA avec les instructions
Randomize x = Rnd()
Ces instructions sont dans des boucles (~1000 tours). Elles sont entourées de bon nombre d'instructions. Je constate que les nombres générés ont une certaine périodicité. De plus, chaque fois que j'exécute le programme, je retrouve les mêmes nombres.
J'ai réalisé des petites macro du style
for i=1 to 1000 Randomize cells(i,1)=Rnd() next i
ou for i=1 to 50 for j= 1 to 20 Randomize cells(i,1)=Rnd() next j next i ...
Dans ces cas le problème n'apparait pas. Il me semble que ce problème n'existait pas dans Excel < Vers 2000?.
Quelqu'un peut-il m'aider à trouver une solution?
L'aide ne m'avance pas dans la compréhension de ces fonctions. C'est quoi la "seed"? C'est quoi la sequence aléatoire générée par rnd()?