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