Guides Excel

Comment Générer des Nombres Aléatoires Uniques avec la Fonction ALEA() sur Excel ?

15 janvier 2026 7 vues

La fonction ALEA() d'Excel est un outil puissant pour générer des nombres aléatoires. Que vous ayez besoin de simuler des données, de réaliser des tirages au sort ou simplement d'ajouter un peu de dynamisme à vos feuilles de calcul, ALEA() est là pour vous. Cependant, son utilisation basique peut présenter des défis, notamment la génération de nombres uniques. Cet article vous guide pas à pas pour exploiter pleinement la fonction ALEA() et surmonter ces difficultés, vous permettant ainsi de créer des feuilles de calcul plus performantes et adaptées à vos besoins.

Comprendre la Fonction ALEA() d'Excel

La fonction ALEA() (ou RAND() en anglais) est une fonction intégrée d'Excel qui génère un nombre aléatoire entre 0 et 1. Ce nombre est recalculé à chaque fois que la feuille de calcul est modifiée, ce qui signifie qu'il change dynamiquement. C'est une fonction très simple à utiliser, mais sa puissance réside dans sa capacité à être combinée avec d'autres fonctions pour des applications plus complexes.

Syntaxe de la fonction ALEA()

La syntaxe de la fonction ALEA() est extrêmement simple:

=ALEA()

Elle ne prend aucun argument. Elle renvoie simplement un nombre décimal aléatoire compris entre 0 (inclus) et 1 (exclus).

Comment utiliser la fonction ALEA() de base

  1. Ouvrez une feuille de calcul Excel.
  2. Sélectionnez une cellule où vous souhaitez afficher le nombre aléatoire.
  3. Tapez la formule =ALEA() dans la cellule et appuyez sur Entrée.
  4. Vous verrez un nombre aléatoire apparaître dans la cellule. Ce nombre sera mis à jour à chaque modification de la feuille de calcul.

Exemple :

Si vous entrez =ALEA() dans la cellule A1, vous obtiendrez un nombre comme 0.458723. Si vous entrez d'autres données dans la feuille de calcul, la valeur de A1 changera.

Générer des nombres aléatoires dans une plage spécifique

La fonction ALEA() de base génère des nombres entre 0 et 1. Pour générer des nombres aléatoires dans une plage spécifique (par exemple, entre 1 et 100), vous devez combiner ALEA() avec d'autres fonctions mathématiques.

Utiliser ALEA() avec ENT() et (MAX-MIN+1)

Pour générer des nombres entiers aléatoires entre un minimum et un maximum, utilisez la formule suivante:

=ENT(ALEA()*(MAX-MIN+1))+MIN

Où:

  • MAX est la valeur maximale de la plage.
  • MIN est la valeur minimale de la plage.
  • ENT() est la fonction Excel qui renvoie la partie entière d'un nombre.

Exemple :

Pour générer un nombre entier aléatoire entre 1 et 100, la formule serait:

=ENT(ALEA()*(100-1+1))+1

Cette formule fonctionne comme suit:

  1. ALEA() génère un nombre entre 0 et 1.
  2. ALEA() * (100-1+1) multiplie ce nombre par 100, créant un nombre entre 0 et 100.
  3. ENT(...) tronque la partie décimale, laissant un nombre entier entre 0 et 99.
  4. ...+1 ajoute 1, donnant un nombre entier entre 1 et 100.

Utiliser ALEA.ENTRE.BORNES()

Excel propose une fonction plus simple pour générer des nombres entiers aléatoires dans une plage : ALEA.ENTRE.BORNES() (ou RANDBETWEEN() en anglais).

La syntaxe est:

=ALEA.ENTRE.BORNES(inférieur; supérieur)

Où:

  • inférieur est la borne inférieure de la plage.
  • supérieur est la borne supérieure de la plage.

Exemple :

Pour générer un nombre entier aléatoire entre 1 et 100, la formule serait:

=ALEA.ENTRE.BORNES(1;100)

Cette fonction est beaucoup plus simple et plus lisible que la combinaison de ALEA() et ENT(). Elle est donc recommandée pour générer des nombres entiers aléatoires.

Générer des nombres aléatoires uniques

La fonction ALEA() génère des nombres aléatoires, mais il n'y a aucune garantie qu'ils soient uniques. Si vous avez besoin de générer une liste de nombres aléatoires uniques, vous devez utiliser une approche différente.

Méthode 1: Utiliser RANG et ALEA

Cette méthode consiste à générer une colonne de nombres aléatoires avec ALEA(), puis à utiliser la fonction RANG() pour attribuer un rang à chaque nombre. Ensuite, vous pouvez trier la colonne par rang pour obtenir une liste de nombres aléatoires uniques.

  1. Générez des nombres aléatoires : Dans la colonne A, entrez la formule =ALEA() dans la première cellule (A1) et copiez-la vers le bas jusqu'à la dernière cellule dont vous avez besoin (par exemple, A10 pour 10 nombres aléatoires).
  2. Attribuez des rangs : Dans la colonne B, entrez la formule =RANG(A1;A$1:A$10) dans la première cellule (B1) et copiez-la vers le bas jusqu'à la dernière cellule (B10). Cette formule attribue un rang à chaque nombre aléatoire dans la colonne A, par rapport à tous les autres nombres de la colonne A.
  3. Triez par rang : Sélectionnez les colonnes A et B. Allez dans l'onglet Données et cliquez sur Trier. Triez les données par la colonne B (Rang) en ordre croissant. Excel affichera une boite de dialogue d'avertissement concernant l'extension de la sélection. Assurez-vous de sélectionner "Étendre la sélection" pour que les nombres aléatoires restent associés à leurs rangs.
  4. Supprimez la colonne des rangs : Vous pouvez maintenant supprimer la colonne B (Rang). La colonne A contient maintenant une liste de nombres aléatoires uniques.

Attention : Cette méthode peut ne pas garantir une unicité absolue si deux nombres aléatoires sont extrêmement proches. Cependant, la probabilité de cela est très faible.

Méthode 2: Utiliser un tableau d'exclusion

Cette méthode consiste à générer des nombres aléatoires dans une plage donnée, puis à vérifier si le nombre a déjà été généré. Si c'est le cas, on génère un nouveau nombre aléatoire jusqu'à ce qu'on trouve un nombre unique.

  1. Définissez la plage : Déterminez la plage de nombres aléatoires que vous souhaitez générer (par exemple, de 1 à 100).
  2. Créez une colonne pour les nombres uniques : Dans la colonne A, laissez les cellules vides pour l'instant.
  3. Entrez la formule : Dans la cellule A1, entrez la formule suivante:

=SI(NB.SI(A$1:A1;ALEA.ENTRE.BORNES(1;100))>0;ALEA.ENTRE.BORNES(1;100);ALEA.ENTRE.BORNES(1;100))

Explication de la formule :

  • ALEA.ENTRE.BORNES(1;100) génère un nombre aléatoire entre 1 et 100.
  • NB.SI(A$1:A1;ALEA.ENTRE.BORNES(1;100)) compte le nombre de fois que le nombre aléatoire généré apparaît dans la plage A$1:A1 (qui s'étend au fur et à mesure que vous copiez la formule vers le bas).
  • SI(NB.SI(...)>0;ALEA.ENTRE.BORNES(1;100);ALEA.ENTRE.BORNES(1;100)) : Si le nombre aléatoire généré apparaît déjà dans la plage (c'est-à-dire que NB.SI(...) > 0), alors la formule génère un nouveau nombre aléatoire. Sinon, elle renvoie le nombre aléatoire généré (qui est unique jusqu'à présent).
  • Copiez la formule vers le bas : Copiez la formule de la cellule A1 vers le bas jusqu'à la dernière cellule dont vous avez besoin (par exemple, A10 pour 10 nombres uniques).

Inconvénients de cette méthode :

  • Cette méthode peut être lente si vous devez générer un grand nombre de nombres uniques à partir d'une petite plage, car elle peut prendre du temps pour trouver des nombres qui n'ont pas encore été générés.
  • La formule se recalcule constamment, ce qui peut rendre la feuille de calcul lente. Pour éviter cela, vous pouvez copier les valeurs et les coller en tant que valeurs (sans les formules) une fois que vous avez généré les nombres uniques.

Applications pratiques de la fonction ALEA() et ALEA.ENTRE.BORNES()

La fonction ALEA() et ALEA.ENTRE.BORNES() ont de nombreuses applications pratiques dans Excel.

Simulation de données

Vous pouvez utiliser ALEA() pour simuler des données pour des tests ou des analyses. Par exemple, vous pouvez simuler des ventes, des scores de tests ou des résultats d'enquêtes.

Exemple :

Pour simuler les ventes quotidiennes d'un produit, vous pouvez utiliser la formule suivante:

=ENT(ALEA()*(100-50+1))+50

Cette formule génère un nombre entier aléatoire entre 50 et 100, représentant les ventes quotidiennes.

Tirages au sort

Vous pouvez utiliser ALEA() pour réaliser des tirages au sort. Attribuez un numéro à chaque participant, puis utilisez ALEA.ENTRE.BORNES() pour générer un numéro gagnant.

Exemple :

Si vous avez 20 participants, attribuez-leur les numéros de 1 à 20. Utilisez la formule suivante pour générer le numéro gagnant:

=ALEA.ENTRE.BORNES(1;20)

Création de jeux

Vous pouvez utiliser ALEA() pour créer des jeux dans Excel. Par exemple, vous pouvez créer un jeu de devinettes de nombres, un jeu de dés ou un jeu de cartes.

Exemple :

Pour créer un jeu de devinettes de nombres, vous pouvez générer un nombre aléatoire entre 1 et 100, puis demander à l'utilisateur de deviner le nombre. Vous pouvez ensuite utiliser des fonctions SI() pour donner des indices à l'utilisateur (par exemple, "Le nombre est plus grand" ou "Le nombre est plus petit").

Conseils et astuces pour utiliser ALEA() et ALEA.ENTRE.BORNES()

  • Figez les valeurs : Comme les fonctions ALEA() et ALEA.ENTRE.BORNES() se recalculent constamment, vous pouvez figer les valeurs en copiant les cellules contenant les formules et en les collant en tant que valeurs (sans les formules). Cela empêchera les nombres aléatoires de changer à chaque modification de la feuille de calcul.
  • Utilisez la fonction MAINTENANT() pour une nouvelle série de nombres aléatoires : Si vous voulez forcer Excel à recalculer les nombres aléatoires, vous pouvez entrer la fonction =MAINTENANT() dans une cellule vide et appuyer sur Entrée. Cela forcera Excel à recalculer toute la feuille de calcul, y compris les fonctions ALEA() et ALEA.ENTRE.BORNES().
  • Soyez conscient de la performance : L'utilisation excessive de fonctions ALEA() et ALEA.ENTRE.BORNES() peut ralentir les feuilles de calcul complexes. Essayez d'optimiser votre utilisation de ces fonctions pour minimiser l'impact sur la performance.

Erreurs courantes à éviter avec la fonction ALEA()

  • Oublier de figer les valeurs : Si vous avez besoin de nombres aléatoires statiques, n'oubliez pas de figer les valeurs en copiant et collant les cellules en tant que valeurs.
  • Utiliser ALEA() seul pour des nombres entiers : ALEA() renvoie un nombre décimal entre 0 et 1. Pour obtenir des nombres entiers, utilisez ALEA.ENTRE.BORNES() ou combinez ALEA() avec ENT().
  • Ne pas comprendre le recalcul automatique : Soyez conscient que les nombres aléatoires se recalculent à chaque modification de la feuille de calcul. Planifiez en conséquence.

En conclusion, la fonction ALEA() et ALEA.ENTRE.BORNES() sont des outils précieux pour générer des nombres aléatoires dans Excel. En comprenant leur fonctionnement et en utilisant les techniques décrites dans cet article, vous pouvez les exploiter pleinement pour simuler des données, réaliser des tirages au sort et créer des jeux.

Questions fréquentes

Comment empêcher la fonction ALEA() de se recalculer constamment ?

Pour empêcher la fonction ALEA() de se recalculer à chaque modification de la feuille de calcul, copiez les cellules contenant la formule ALEA() et collez-les en tant que valeurs. Cela supprimera la formule et conservera uniquement les nombres aléatoires générés.

Puis-je générer des nombres aléatoires avec des décimales dans une plage spécifique ?

Oui, vous pouvez utiliser la formule `=(ALEA()*(MAX-MIN))+MIN` pour générer des nombres aléatoires avec des décimales entre une valeur minimale (MIN) et une valeur maximale (MAX).

Existe-t-il une fonction pour générer des nombres aléatoires suivant une distribution normale ?

Excel n'a pas de fonction intégrée pour générer directement des nombres aléatoires suivant une distribution normale. Cependant, vous pouvez utiliser des compléments Excel ou des formules plus complexes basées sur les fonctions `ALEA()` et des fonctions statistiques pour approximer une distribution normale.

Mots-clés associés :

fonction aleatoire excel sans doublon alea entre bornes excel rand excel excel random number generator excel generate random number list formule excel nombre aleatoire

Partager cet article :