VBA fournit une fonction pour renvoyer une valeur aléatoire. Vous n’utiliserez pas nécessairement cette fonction seule, mais dans le cadre d’une macro plus grande qui peut nécessiter l’utilisation de valeurs aléatoires. La syntaxe de la fonction est la suivante:

x = Rnd()

où x est le résultat. La valeur retournée sera toujours comprise entre 0 et 1. Pour traduire cela en une autre valeur aléatoire, tout ce que vous avez à faire est de multiplier le résultat par le nombre le plus élevé que vous souhaitez considérer. Par exemple, si vous voulez un nombre entier aléatoire entre 1 et 25, vous pouvez utiliser la ligne de code suivante:

x = Int(25 * Rnd()) + 1

Puisque Rnd renvoie toujours une valeur entre 0 et 1 (mais jamais 1 lui-même), multiplier ce qu’il renvoie par 25 puis utiliser la fonction Int sur ce résultat retournera un nombre entre 0 et 24. Enfin, 1 est ajouté à ce résultat, de sorte que x sera égal à un nombre compris entre 1 et 25 inclus.

Si vous voulez un nombre à virgule flottante aléatoire, la simple suppression de la fonction Int de ce code ne fonctionnera pas correctement. Au lieu de cela, vous devrez modifier la formule de cette manière:

x = (Rnd() * 24) + 1

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (9751) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Determining_a_Random_Value [Détermination d’une valeur aléatoire].