OVH Cloud OVH Cloud

Hasard..

10 réponses
Avatar
Kyvu
Bonjour,

En VBA, comment g=E9n=E9rer de fa=E7on al=E9atoire un nombre=20
compris entre 0 et 9?

Merci!

@micalement.



Kyvu On Line!

10 réponses

Avatar
CAP2
Salut, tu peux faire ça :

Sub generernb()
dim nb as byte

Randomize
nb=Int((9*Rnd))

End Sub

Ca marche ??

CAP2

"Kyvu" a écrit dans le message de
news: 672d01c48371$86bb4720$
Bonjour,

En VBA, comment générer de façon aléatoire un nombre
compris entre 0 et 9?

Merci!

@micalement.



Kyvu On Line!
Avatar
Vincent.
Salut !
J'aurais multiplié par 10 plutôt que par 9 ;)
A+

-----Message d'origine-----
Salut, tu peux faire ça :

Sub generernb()
dim nb as byte

Randomize
nb=Int((9*Rnd))

End Sub

Ca marche ??

CAP2

"Kyvu" a écrit dans
le message de

news: 672d01c48371$86bb4720$
Bonjour,

En VBA, comment générer de façon aléatoire un nombre
compris entre 0 et 9?

Merci!

@micalement.



Kyvu On Line!


.



Avatar
Fredo \(67\)
bonjour,
au choix
=ARRONDI(ALEA()*10;0)

ou
=ENT(ALEA()*10)

au revoir

"Kyvu" a écrit dans le message de
news:672d01c48371$86bb4720$
Bonjour,

En VBA, comment générer de façon aléatoire un nombre
compris entre 0 et 9?

Merci!

@micalement.



Kyvu On Line!
Avatar
Kyvu
Super!



-----Message d'origine-----
Salut, tu peux faire ça :

Sub generernb()
dim nb as byte

Randomize
nb=Int((9*Rnd))

End Sub

Ca marche ??

CAP2

"Kyvu" a écrit dans
le message de

news: 672d01c48371$86bb4720$
Bonjour,

En VBA, comment générer de façon aléatoire un nombre
compris entre 0 et 9?

Merci!

@micalement.



Kyvu On Line!


Avatar
CAP2
Salut Vincent,

en fait il me semble (mais j'avoue ne plus trop savoir) que Rnd renvoie un
nombre compris entre 0 et 1 bornes *incluses*.
Et si c'est bien les cas, dans le cas où Rnd renvoie 1, ma proc renverra 10.
Et notre ami voulait entre 0 et 9...
Je vais vérifier si Rnd renvoie bien un chiffre de 0 à 1 inclus...
Si tu as des précisions à m'apporter, n'hésite pas ;o))

A plus

CAP2

"Vincent." a écrit dans le message de
news: 676701c48377$5c064c40$
Salut !
J'aurais multiplié par 10 plutôt que par 9 ;)
A+

-----Message d'origine-----
Salut, tu peux faire ça :

Sub generernb()
dim nb as byte

Randomize
nb=Int((9*Rnd))

End Sub

Ca marche ??

CAP2

"Kyvu" a écrit dans
le message de

news: 672d01c48371$86bb4720$
Bonjour,

En VBA, comment générer de façon aléatoire un nombre
compris entre 0 et 9?

Merci!

@micalement.



Kyvu On Line!


.



Avatar
docm
Bonjour.
La formule générale est dans le style suivant:
debut = 0
fin = 9
nb = Int((fin - debut + 1) * Rnd + debut)

Amicalement

"CAP2" wrote in message
news:#
Salut Vincent,

en fait il me semble (mais j'avoue ne plus trop savoir) que Rnd renvoie un
nombre compris entre 0 et 1 bornes *incluses*.
Et si c'est bien les cas, dans le cas où Rnd renvoie 1, ma proc renverra
10.

Et notre ami voulait entre 0 et 9...
Je vais vérifier si Rnd renvoie bien un chiffre de 0 à 1 inclus...
Si tu as des précisions à m'apporter, n'hésite pas ;o))

A plus

CAP2

"Vincent." a écrit dans le message de
news: 676701c48377$5c064c40$
Salut !
J'aurais multiplié par 10 plutôt que par 9 ;)
A+

-----Message d'origine-----
Salut, tu peux faire ça :

Sub generernb()
dim nb as byte

Randomize
nb=Int((9*Rnd))

End Sub

Ca marche ??

CAP2

"Kyvu" a écrit dans
le message de

news: 672d01c48371$86bb4720$
Bonjour,

En VBA, comment générer de façon aléatoire un nombre
compris entre 0 et 9?

Merci!

@micalement.



Kyvu On Line!


.







Avatar
JièL Goubert
Bonjoir(c) CAP2

extrait de l'aide d'Excel

ALEA() : Renvoie un nombre aléatoire supérieur ou égal à 0 et inférieur à 1

Pour générer un nombre réel aléatoire compris entre a et b, utilisez :
ALEA()*(b-a)+a

--
La FAQ Outlook est la : http://faq.outlook.free.fr
JièL / Jean-Louis GOUBERT
Co-auteur de "Internet + de 1 000 trucs de pros" chez Micro Application
http://faq.outlook.free.fr/livreMA/internet_plus_de_1000_trucs_de_pros.htm

Le 16/08/2004 12:03 vous avez écrit ceci :
Salut Vincent,

en fait il me semble (mais j'avoue ne plus trop savoir) que Rnd renvoie un
nombre compris entre 0 et 1 bornes *incluses*.
Et si c'est bien les cas, dans le cas où Rnd renvoie 1, ma proc renverra 10.
Et notre ami voulait entre 0 et 9...
Je vais vérifier si Rnd renvoie bien un chiffre de 0 à 1 inclus...
Si tu as des précisions à m'apporter, n'hésite pas ;o))

A plus

CAP2

"Vincent." a écrit dans le message de
news: 676701c48377$5c064c40$
Salut !
J'aurais multiplié par 10 plutôt que par 9 ;)
A+


-----Message d'origine-----
Salut, tu peux faire ça :

Sub generernb()
dim nb as byte

Randomize
nb=Int((9*Rnd))

End Sub

Ca marche ??

CAP2

"Kyvu" a écrit dans


le message de

news: 672d01c48371$86bb4720$
Bonjour,

En VBA, comment générer de façon aléatoire un nombre
compris entre 0 et 9?

Merci!

@micalement.



Kyvu On Line!




Avatar
Nicolas B.
Salut,

nb=Int((9*Rnd))
en fait il me semble (mais j'avoue ne plus trop savoir) que Rnd

renvoie un nombre compris entre 0 et 1 bornes *incluses*.


Ben non, bornes incluses, c'est pas possible : sinon, il n'y aurait pas
équiprobabilité. Le 9 aurait en effet à peu près 1 chance sur 10^15 de
sortir (autant dire que ça n'arriverait jamais).

La valeur renvoyée est donc compise dans l'intervalle semi-ouvert 0
(inclut), 1 (exclut) et il faut donc multiplier par 10 comme l'a corrigé
Vincent.


A+
Nicolas B.


CAP2 wrote:
Salut Vincent,

en fait il me semble (mais j'avoue ne plus trop savoir) que Rnd renvoie un
nombre compris entre 0 et 1 bornes *incluses*.
Et si c'est bien les cas, dans le cas où Rnd renvoie 1, ma proc renverra 10.
Et notre ami voulait entre 0 et 9...
Je vais vérifier si Rnd renvoie bien un chiffre de 0 à 1 inclus...
Si tu as des précisions à m'apporter, n'hésite pas ;o))

A plus

CAP2

"Vincent." a écrit dans le message de
news: 676701c48377$5c064c40$
Salut !
J'aurais multiplié par 10 plutôt que par 9 ;)
A+


-----Message d'origine-----
Salut, tu peux faire ça :

Sub generernb()
dim nb as byte

Randomize
nb=Int((9*Rnd))

End Sub

Ca marche ??

CAP2

"Kyvu" a écrit dans


le message de

news: 672d01c48371$86bb4720$
Bonjour,

En VBA, comment générer de façon aléatoire un nombre
compris entre 0 et 9?

Merci!

@micalement.



Kyvu On Line!


.








Avatar
Nicolas B.
Salut docm,

Et la formule encore plus générale ;-)

Générer un nombre aléatoire entre a et b par pas de k :
Int(((b - a) / k + 1) * Rnd) * k + a

Par exemple, pour obtenir un nombre pair compris entre 2 et 10 :
Int(5 * Rnd) * 2 + 2


A+
Nicolas B.


docm wrote:
Bonjour.
La formule générale est dans le style suivant:
debut = 0
fin = 9
nb = Int((fin - debut + 1) * Rnd + debut)

Amicalement


Avatar
CAP2
Salut tout le monde,

je me coucherai une fois de plus moins sot que je ne me suis levé.
Au bout de 153 ans, j'arriverai sûrement à mieux m'y connaître ;o))))

A plus

CAP2

"Nicolas B." a écrit dans le message
de news:
Salut,

nb=Int((9*Rnd))
en fait il me semble (mais j'avoue ne plus trop savoir) que Rnd

renvoie un nombre compris entre 0 et 1 bornes *incluses*.


Ben non, bornes incluses, c'est pas possible : sinon, il n'y aurait pas
équiprobabilité. Le 9 aurait en effet à peu près 1 chance sur 10^15 de
sortir (autant dire que ça n'arriverait jamais).

La valeur renvoyée est donc compise dans l'intervalle semi-ouvert 0
(inclut), 1 (exclut) et il faut donc multiplier par 10 comme l'a corrigé
Vincent.


A+
Nicolas B.


CAP2 wrote:
Salut Vincent,

en fait il me semble (mais j'avoue ne plus trop savoir) que Rnd renvoie
un


nombre compris entre 0 et 1 bornes *incluses*.
Et si c'est bien les cas, dans le cas où Rnd renvoie 1, ma proc renverra
10.


Et notre ami voulait entre 0 et 9...
Je vais vérifier si Rnd renvoie bien un chiffre de 0 à 1 inclus...
Si tu as des précisions à m'apporter, n'hésite pas ;o))

A plus

CAP2

"Vincent." a écrit dans le message de
news: 676701c48377$5c064c40$
Salut !
J'aurais multiplié par 10 plutôt que par 9 ;)
A+


-----Message d'origine-----
Salut, tu peux faire ça :

Sub generernb()
dim nb as byte

Randomize
nb=Int((9*Rnd))

End Sub

Ca marche ??

CAP2

"Kyvu" a écrit dans


le message de

news: 672d01c48371$86bb4720$
Bonjour,

En VBA, comment générer de façon aléatoire un nombre
compris entre 0 et 9?

Merci!

@micalement.



Kyvu On Line!


.