Fonction Rnd

Renvoie un nombre aléatoire.

Syntaxe

Rnd[(number)]

Remarques

L'argument number peut être n'importe quelle expression numérique valide.

La fonction Rnd renvoie une valeur inférieure à 1 mais supérieure ou égale à 0. La valeur de number détermine la façon dont Rnd génère un nombre aléatoire :

Tableau 11-13 Valeurs renvoyées par la fonction Rnd

Si la valeur de number est Rnd génère
inférieure à zéro le même nombre à chaque fois, en utilisant la valeur de number comme valeur de départ.
supérieure à zéro le nombre aléatoire suivant dans la séquence.
égale à zéro le nombre généré le plus récemment.
non fournie le nombre aléatoire suivant dans la séquence.

Pour une valeur de départ initiale donnée, la même séquence de nombres est générée car chaque appel successif de la fonction Rnd utilise le nombre précédent comme valeur de départ pour le nombre suivant de la séquence.

Avant d'appeler Rnd, utilisez l'instruction Randomize sans argument pour initialiser le générateur de nombres aléatoires avec une valeur de départ reposant sur l'horloge système.

Pour générer des nombres entiers aléatoires dans une plage donnée, utilisez la formule suivante :

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

Ici, upperbound représente le nombre le plus élevé de la plage et lowerbound le nombre le plus faible de la plage.

Remarque :

Pour répéter des séquences de nombres aléatoires, appelez Rnd avec un argument négatif juste avant d'utiliser Randomize avec un argument numérique. L'utilisation de Randomize avec la même valeur pour number ne répète pas la séquence précédente.

Les exemples suivants montrent comment la fonction Rnd renvoie des nombres aléatoires :

Exemple 1 :

Dim randomNumber
Randomize  ' Initialize random-number generator
randomNumber = Rnd
'Output: random number between 0 and 1

Exemple 2 :

Dim randomNumber
Randomize  ' Initialize random-number generator
randomNumber = Rnd(-1)  ' Use -1 as the seed
'Output: the same random number each time

Exemple 3 :

Dim randomNumber
Randomize  ' Initialize random-number generator
randomNumber = Rnd  ' Generate the first random number
'Output: the first random number
randomNumber = Rnd  ' Generate the next random number
'Output: the next random number

Exemple 4 :

Dim randomNumber
Randomize ' Initialize random-number generator
randomNumber = Rnd(0)  ' Generate a random number and store it
'Output: the most recently generated random number

Exemple 5 :

Dim lowerbound, upperbound, randomNumber
lowerbound = 1
upperbound = 10
Randomize  ' Initialize random-number generator
randomNumber = Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
'Output: a random integer between 1 and 10