Astuce VBA : générer des nombres aléatoires


Voici le code à utiliser pour générer une valeur aléatoire entre 1 et 50 :

Sub aleatoire()

    'Initialiser le générateur de nombres aléatoires
    '=> Randomize : à ajouter avant d'utiliser Rnd pour obtenir des valeurs complètement aléatoires
    Randomize
   
    'Nombre aléatoire entier entre 1 et 50 :
    nombre_aleatoire = Int(50 * Rnd) + 1
   
    MsgBox nombre_aleatoire
   
End Sub

Pour obtenir par exemple une valeur entre 1 et 22, remplacez simplement 50 (dans le code ci-dessus) par 22.

Explications détaillées

Si vous ne comprenez pas vraiment à quoi sert Randomize ou que la formule Int(50 * Rnd) + 1 n'est pas claire pour vous, je vous invite à visionner la vidéo suivante : Générer des nombres aléatoires en VBA.