Passer au contenu

Effectuer un tirage au sort

On a souvent besoin d’obtenir une liste de nombres aléatoires, par exemple pour faire une simulation de calculs ou pour choisir plusieurs personnes dans un groupe….

On a souvent besoin d’obtenir une liste de nombres aléatoires, par exemple pour faire une simulation de calculs ou pour choisir plusieurs personnes dans un groupe. Cela semble très simple, mais il y a une difficulté de taille :
dans les tirages au sort de type Loto, tous les nombres doivent être différents. Il est donc exclu d’utiliser directement la fonction ALEA, chargée de générer un nombre aléatoire, car rien ne garantit que le même nombre ne sortira pas
plusieurs fois… La bonne solution consiste à opérer en trois temps : d’abord créer une colonne contenant tous les nombres susceptibles d’être choisis (dans le cas du Loto, ce sont les chiffres de 1 à 49), puis trier cette colonne de
façon aléatoire et enfin récupérer les six premiers chiffres de la colonne (si vous voulez un tirage de six valeurs). C’est ce que permet la macro ci-contre. Avant de l’écrire, tapez les nombres de 1 à 49dans les
cellules C1 à C49 (pour cela, servez-vous de la poignée de recopie). Puis écrivez la formule =ALEA() en D1 et recopiez-la sur le champ D2:D49. Sélectionnez ensuite les colonnes C et
D, faites un clic droit et choisissez Masquer. Tapez Alt + F11 pour ouvrir l’éditeur VBA, déroulez Insertion, Module et tapez le listing ci-contre. Déroulez ensuite Fichier, Fermer et
retourner à Microsoft Excel.
Tapez Alt + F8, sélectionnez Loto et cliquez sur Exécuter. Chaque fois que vous lancez la macro, les cellules A1 à A6 reçoivent un tirage de six nombres
différents compris entre 1 et 49. Changez les constantes de la macro si vous souhaitez modifier le nombre de tirages ou le nombre de choix possibles. Au lieu de nombres, vous pouvez placer des noms de personnes dans les cellules de la colonne
C pour tirer au sort quelques-unes de ces personnes. Pour améliorer le fonctionnement de la macro, vous pouvez ajouter, juste en dessous de la ligne Sub Loto(), l’instruction Randomize. Son rôle est de demander
à Excel d’initialiser son générateur de nombres aléatoires. De cette façon, vous augmentez les chances d’obtenir chaque fois une liste différente.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


La rédaction