Excel VBA randomiser

VBA Randomize est la fonction qui est utilisée pour créer une fonction de nombre aléatoire qui est RND. Nous savons tous que VBA RND est utilisé pour créer les nombres aléatoires qui sont principalement utilisés pour la facturation, augmenter les numéros de ticket et beaucoup pour les applications. Ici, VBA Randomize est utilisé pour changer la valeur de départ que nous alimentons pour la fonction RND. Pour une meilleure compréhension, nous utilisons la fonction RND pour obtenir les nombres aléatoires puis la fonction Randomize avec RND qui donnera une plus grande variété de nombres aléatoires. Comme il change dans la valeur d'entrée de départ par laquelle la sortie est également modifiée. Ce qui signifie, il générera les nombres selon l'entrée de graine donnée dans la fonction RND et le nombre généré sera dans la même plage.

La principale chose à propos de VBA Randomize est qu'il n'a pas de syntaxe. Nous avons juste besoin de l'utiliser avec la fonction RND qui a la syntaxe à appliquer.

Comment randomiser un nombre dans Excel VBA?

Voici les différents exemples pour randomiser un nombre dans Excel en utilisant la fonction VBA Rnd.

Vous pouvez télécharger ce modèle Excel Randomize VBA ici - Modèle Excel Randomize VBA

Excel VBA Randomize - Exemple # 1

Il est très facile de créer des nombres aléatoires personnalisés par VBA Randomize. Pour cela, suivez les étapes ci-dessous:

Étape 1: Accédez à la fenêtre VBA, sous l'onglet de menu Insertion, sélectionnez Module comme indiqué ci-dessous.

Étape 2: Maintenant, écrivez la sous-catégorie de VBA Randomize ou nous pouvons utiliser n'importe quel nom pour définir le code VBA.

Code:

 Sub VBA_Randomize () End Sub 

Étape 3: Définissez maintenant une variable. Ici, nous avons considéré la variable RNum comme type de données Double. La logique derrière l'utilisation de Double est que nous obtiendrons des changements mineurs dans les nombres aléatoires générés. Double nous aidera à voir les nombres en décimales.

Code:

 Sub VBA_Randomize () Dim RNum As Sub End Double 

Étape 4: Attribuez maintenant la fonction VBA RND à la variable RNum définie.

Code:

 Sub VBA_Randomize () Dim RNum As Double RNum = Rnd End Sub 

Étape 5: Maintenant, pour voir la génération de nombres aléatoires, nous allons utiliser Debug.Print qui est utilisé pour imprimer le message.

Code:

 Sub VBA_Randomize () Dim RNum As Double RNum = Rnd Debug.Print RNum End Sub 

Étape 6: pour voir la génération de valeur ou de nombre, ouvrez la fenêtre Exécution dans la liste du menu Affichage. Ou nous pouvons utiliser une touche de raccourci comme Ctrl + G pour obtenir cette fenêtre.

Étape 7: compilez maintenant le code et exécutez-le en cliquant sur le bouton Lecture situé sous la barre de menu. Nous verrons le premier nombre aléatoire dans la fenêtre immédiate comme indiqué ci-dessous.

Et si nous exécutons le code, encore et encore, plusieurs fois, nous verrons quelques nombres aléatoires supplémentaires.

Étape 8: Maintenant, si nous appliquons Randomize avant la fonction RND, cela changera l'entrée de départ que la fonction RND recevait.

Code:

 Sub VBA_Randomize () Dim RNum As Double Randomize RNum = Rnd Debug.Print RNum End Sub 

Étape 9: Exécutez à nouveau le code plusieurs fois pour voir quels nombres sont générés.

Voici comment fonctionne la fonction Randomize dans VBA si elle est utilisée avec la fonction RND .

Voyons un peu plus d'expérimentation avec le même codage. Nous allons maintenant utiliser la fonction CInt avec RND qui est utilisé pour la conversion du type de données. Ce qui signifie qu'il convertira le nombre aléatoire généré en Double en Entiers.

Code:

 Sub VBA_Randomize1 () Dim RNum As Double RNum = CInt (Rnd) Debug.Print RNum End Sub 

Maintenant, exécutez à nouveau le code. Nous verrons, maintenant les nombres aléatoires sont générés sous forme d'entiers. Mais les valeurs sont comprises entre 0 et 1.

Nous avons déjà vu, si nous continuons à utiliser le Double, alors les valeurs se situaient entre 0 et 1. C'est parce que nous avons utilisé Randomize avec la fonction RND. Multiplions maintenant la fonction RND par n'importe quel nombre. Disons 20.

Code:

 Sub VBA_Randomize1 () Dim RNum As Double RNum = CInt (Rnd * 20) Debug.Print RNum End Sub 

Maintenant, exécutez à nouveau le code.

Maintenant, la scène a changé. Les valeurs aléatoires générées sont supérieures à 0 mais inférieures à 20.

Excel VBA Randomize - Exemple # 2

Il existe une autre façon de voir comment fonctionne VBA Randomize. Nous appliquerons une formule mathématique avec Randomize et verrons comment randomiser aide à générer des valeurs aléatoires. Mais dans cet exemple, nous verrons la sortie dans la boîte de message. Pour cela, suivez les étapes ci-dessous:

Étape 1: Dans un module, écrivez la sous-catégorie de VBA Randomize comme indiqué ci-dessous.

Code:

 Sub VBA_Randomize2 () End Sub 

Étape 2: Considérez la même variable que nous avons définie dans le dernier exemple mais comme Entier.

Code:

 Sub VBA_Randomize2 () Dim RNum As Integer End Sub 

Étape 3: Sélectionnez maintenant la fonction Randomize ici avant de commencer à mettre la formule mathématique.

Code:

 Sub VBA_Randomize2 () Dim RNum As Integer Randomize End Sub 

Étape 4: Considérez maintenant toute formule mathématique telle que l'addition, la soustraction selon vos besoins, comme indiqué ci-dessous.

Code:

 Sub VBA_Randomize2 () Dim RNum As Integer Randomize RNum = Int ((300 - 200 + 1) End Sub 

Étape 5: Utilisez maintenant la fonction RND comme indiqué ci-dessous.

Code:

 Sub VBA_Randomize2 () Dim RNum As Integer Randomize RNum = Int ((300 - 200 + 1) * Rnd + 200) End Sub 

Vous avez remarqué que nous avons utilisé la plupart des expressions mathématiques qui sont généralement utilisées.

Étape 6: Utilisez maintenant Msgbox avec une variable définie pour voir les nombres aléatoires générés.

Code:

 Sub VBA_Randomize2 () Dim RNum As Integer Randomize RNum = Int ((300-200 + 1) * Rnd + 200) MsgBox RNum End Sub 

Étape 7: exécutez maintenant le code. Nous obtiendrons un nombre aléatoire comme 234. En effet, le nombre est multiplié par (300-200 + 1), puis ajouté avec 200. Ce qui signifie que le nombre aléatoire est de nature bien moindre et en raison des expressions mathématiques utilisées, il est venant comme 234.

Et nous exécutons à nouveau le code, il nous donnera le message 294 .

Avantages d'Excel VBA Randomize

  • Nous pouvons générer n'importe quel nombre aléatoire entre toutes les plages que nous voulons.
  • À mesure que la plage devient limitée, il n'y a toujours pas de limite à la génération de nombres aléatoires.
  • Nous pouvons limiter la plage de génération de nombres aléatoires qui serait supérieure à 0.

Choses dont il faut se rappeler

  • Randomize peut également être utilisé avec différentes fonctions. Mais l'utilisation de ceci avec la fonction RND donne le résultat dont nous avons besoin.
  • Randomize donne des nombres aléatoires entre 0 et 1 s'il est utilisé seul avec RND.
  • Si nous utilisons tout autre nombre ou expression mathématique avec RND, alors Randomize sera généré, les nombres aléatoires entre la valeur la plus élevée pourraient être générés.
  • Une fois terminé, enregistrez le fichier au format Macro Enable Excel.
  • Randomize peut être utilisé là où il est nécessaire de générer des nombres aléatoires mais entre certaines entrées de semences de plage.

Articles recommandés

Ceci est un guide pour VBA Randomize. Ici, nous discutons de la façon de randomiser un nombre dans Excel en utilisant le code VBA ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Écrire un fichier texte dans Excel VBA
  2. Générer des nombres aléatoires dans Excel
  3. Déclaration de variable VBA Excel
  4. Zéros non significatifs Excel (exemples)

Catégorie: