ALEA (RAND en anglais) est la fonction Excel pour générer des nombres aléatoires sans te prendre la tête : tu écris =ALEA() avec des parenthèses vides, elle renvoie un décimal entre 0 et 1, et c'est tout. Pas de paramètre à configurer, pas de plage à définir.
En pratique, cette simplicité cache une vraie puissance : simuler des scénarios financiers, créer des échantillons de test statistiquement valides, répartir des utilisateurs dans un test A/B, ou générer des jeux de données pour valider une application. Multiplie et décale le résultat pour couvrir n'importe quelle plage de nombres.
Syntaxe de la fonction ALEA
=ALEA()ALEA est une fonction volatile : elle recalcule automatiquement à chaque modification de la feuille, même si la cellule modifiée n'a aucun lien avec elle. Pour figer une valeur aléatoire, copie la cellule puis colle en valeurs (Ctrl+Shift+V).
Comprendre chaque paramètre de la fonction ALEA
(aucun paramètre)
: aLEA est l'une des rares fonctions Excel qui ne prend aucun argument(facultatif)Tu écris simplement =ALEA() avec des parenthèses vides : elle retourne un nombre décimal aléatoire entre 0 (inclus) et 1 (exclus). Par exemple, tu peux obtenir 0,156789 ou 0,982341, mais jamais exactement 0 ni exactement 1.
En multipliant et en ajoutant des valeurs, tu génères n'importe quelle plage de nombres : =ALEA()*100 donne un décimal entre 0 et 100 ; =ALEA()*(max-min)+min couvre n'importe quelle plage personnalisée.
Astuce : Pour générer un nombre entier aléatoire dans une plage définie, préfère ALEA.ENTRE.BORNES(inf; sup) qui est plus lisible. Réserve ENT(ALEA()*n)+1 quand tu as besoin d'un contrôle fin sur la formule.
Pas envie d'écrire la formule ALEA à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Analyste financier : simulation Monte Carlo pour prévoir les revenus
Tu es analyste financier et tu dois prévoir les revenus de l'entreprise pour l'année prochaine. Plutôt que de faire une prévision unique, tu veux créer 1 000 scénarios différents avec des variations aléatoires pour estimer la probabilité de différents résultats.
| A | B | C | |
|---|---|---|---|
| 1 | Scénario | Variation | Revenu projeté |
| 2 | 1 | +2,4% | 1 024 000 € |
| 3 | 2 | -1,8% | 982 000 € |
| 4 | 3 | +5,1% | 1 051 000 € |
| 5 | 4 | +0,3% | 1 003 000 € |
=1000000*(1+ALEA()*0.2-0.1)La formule applique au million de départ une variation aléatoire comprise entre -10 % et +10 %, ce qui donne ici un revenu projeté de 1 024 000 €. En recopiant le calcul sur 1 000 lignes, tu obtiens une distribution qui révèle le revenu le plus probable et les risques extrêmes (le principe d'une simulation Monte Carlo).
Astuce de pro : Une fois tes 1 000 scénarios générés, copie-colle en valeurs avant de créer ton graphique de distribution. Sinon, le graphique changera à chaque modification de la feuille et tes analyses seront impossibles à partager.
Data analyst : créer un échantillon aléatoire de clients
Tu es data analyst avec une base de 50 000 clients. Pour tester une nouvelle stratégie marketing, tu veux sélectionner aléatoirement 1 % de la base sans biais de sélection manuelle.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | ID Client | Nom | Nb aléatoire | Échantillon |
| 2 | 10234 | Dupont SA | 0,0082 | OUI |
| 3 | 10235 | Martin SARL | 0,1456 | NON |
| 4 | 10236 | Bernard & Co | 0,0034 | OUI |
| 5 | 10237 | Petit SAS | 0,2891 | NON |
=SI(ALEA()<0.01; "OUI"; "NON")La formule tire un nombre aléatoire pour chaque client et renvoie « OUI » uniquement quand il tombe sous 0,01, soit exactement 1 % de chance d'être retenu, quelle que soit sa position dans la liste. L'échantillon reste statistiquement valide, sans tri ni filtre manuel.
Product manager : attribuer des utilisateurs à un test A/B
Tu lances un test A/B sur ta landing page et tu veux répartir équitablement tes visiteurs entre la version A (contrôle) et la version B (test). ALEA garantit une répartition sans biais : chaque utilisateur a 50 % de chance d'obtenir chaque version.
| A | B | C | |
|---|---|---|---|
| 1 | ID Session | Utilisateur | Version |
| 2 | S001 | user_1234 | Version A |
| 3 | S002 | user_5678 | Version B |
| 4 | S003 | user_9012 | Version A |
| 5 | S004 | user_3456 | Version B |
=SI(ALEA()<0.5; "Version A"; "Version B")La formule tire un nombre aléatoire pour chaque session et l'envoie sur la Version A s'il tombe sous 0,5, sur la Version B sinon : chaque utilisateur a donc 50 % de chance d'obtenir l'une ou l'autre, pour une répartition sans biais.
Attention : Fige les assignations avec Copier-Coller en valeurs avant d'analyser les résultats. Sinon, un utilisateur changerait de groupe à chaque recalcul, ce qui fausserait complètement les résultats du test.
Développeur : générer des données de test réalistes
Tu dois créer un jeu de données de test pour valider ton application avant la mise en production. Tu as besoin de 10 000 transactions avec des montants aléatoires entre 5 € et 500 €.
| A | B | C | |
|---|---|---|---|
| 1 | ID Transaction | Montant | Date |
| 2 | TX001 | 156,73 € | 2024-01-15 |
| 3 | TX002 | 42,18 € | 2024-01-15 |
| 4 | TX003 | 389,50 € | 2024-01-15 |
| 5 | TX004 | 91,22 € | 2024-01-16 |
=ARRONDI(ALEA()*495+5; 2)La formule étire le tirage de base sur la plage 5 à 500 (multiplication par la largeur, puis décalage par le minimum), puis l'arrondit à deux décimales pour ressembler à un vrai montant, comme les 156,73 € obtenus ici. Chaque ligne reçoit ainsi une transaction réaliste.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction ALEA
Avec ALEA, les soucis viennent rarement de la fonction elle-même et presque toujours du calcul autour. Soit tu décales mal ta plage et tu te retrouves avec des nombres au-delà de la borne voulue (=ALEA()*100+50 monte jusqu'à 150, pas 100), soit tu oublies d'arrondir et un "dé" te sort 3,8749 au lieu d'un entier.
L'autre classique n'est même pas une erreur : ALEA se recalcule tout seul, donc tes valeurs dansent à chaque frappe tant que tu ne les as pas figées.
Les valeurs changent constamment sans intervention
ALEA recalcule automatiquement à chaque modification de n'importe quelle cellule de la feuille. Tes simulations ou tes échantillons changent sans arrêt, ce qui rend impossible toute analyse ou présentation stable.
Solution : Sélectionne les cellules contenant ALEA, appuie sur Ctrl+C pour copier, puis colle en valeurs avec Ctrl+Shift+V et choisis « Valeurs ». Cela transforme les formules en nombres fixes qui ne changeront plus.
Plage de nombres incorrecte : résultat hors de la plage voulue
Tu veux des nombres entre 50 et 100 et tu écris =ALEA()*100+50, mais tu obtiens des nombres entre 50 et 150. La logique de décalage est mal appliquée.
Solution : Applique toujours la formule =ALEA()*(max-min)+min. Pour 50 à 100 : =ALEA()*(100-50)+50 soit =ALEA()*50+50. Tu multiplies par la largeur de la plage, puis tu ajoutes le minimum.
Génération d'entiers avec partie décimale résiduelle
Tu veux simuler un dé (1 à 6) avec =ALEA()*6+1, mais tu obtiens 3,8749 au lieu d'un nombre entier.
Solution : Utilise =ALEA.ENTRE.BORNES(1; 6) pour des entiers directement, ou =ENT(ALEA()*6)+1 si tu préfères rester avec ALEA. La fonction ENT supprime la partie décimale en arrondissant vers le bas.
ALEA vs ALEA.ENTRE.BORNES vs ENT(ALEA()*n)+1
Garde ALEA() quand tu raisonnes en probabilités ou en décimaux : un test A/B à 50/50, un échantillon à 1 %, une simulation Monte Carlo. Dès que tu veux des entiers dans une plage (un dé, un tirage de 1 à 100), passe à ALEA.ENTRE.BORNES(min; max), bien plus lisible et sans risque de te tromper de décalage.
L'écriture ENT(ALEA()*n)+1 ne se justifie que si tu as besoin de bricoler la formule à la main, par exemple pour l'imbriquer dans un calcul plus large.
| Critère | ALEA | ALEA.ENTRE.BORNES | ENT(ALEA()*n)+1 |
|---|---|---|---|
| Type de résultat | Décimal | Entier | Entier |
| Plage par défaut | 0 à 1 | Personnalisable | Personnalisable |
| Paramètres requis | Aucun | 2 (min et max) | Aucun |
| Lisibilité | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| Cas d'usage | Probabilités, simulations | Entiers dans une plage définie | Contrôle fin sur la formule |
Questions fréquentes sur la fonction ALEA
Pourquoi ALEA change-t-elle à chaque fois que je modifie ma feuille ?
ALEA est une fonction volatile : elle recalcule automatiquement à chaque modification de la feuille ou quand tu appuies sur F9. C'est son comportement par défaut.
Pour figer une valeur aléatoire, copie la cellule puis colle en valeurs (Ctrl+Shift+V) pour transformer la formule en nombre fixe.
Comment générer un nombre aléatoire entre 0 et 100 avec ALEA ?
Multiplie ALEA par 100 : =ALEA()*100. Tu obtiens un décimal entre 0 et 100. Pour un nombre entre 10 et 50, utilise =ALEA()*40+10 (la formule générale est : ALEA()*(max-min)+min).
Quelle différence entre ALEA et ALEA.ENTRE.BORNES ?
ALEA génère un nombre décimal entre 0 et 1 sans paramètre. ALEA.ENTRE.BORNES génère un nombre entier entre deux bornes que tu choisis, par exemple =ALEA.ENTRE.BORNES(1; 100) donne un entier entre 1 et 100.
Pour des entiers simples, ALEA.ENTRE.BORNES est plus lisible et moins risquée d'erreur.
ALEA peut-elle générer le même nombre plusieurs fois ?
Oui, c'est possible mais statistiquement rare. ALEA génère des nombres pseudo-aléatoires : chaque nombre a théoriquement la même probabilité d'apparaître.
Si tu as besoin de nombres uniques (tirage sans remise), combine ALEA avec un tri : génère une colonne de nombres aléatoires, puis trie ton tableau selon cette colonne pour obtenir un ordre aléatoire sans doublon.
Comment trier une liste de manière aléatoire avec ALEA ?
Crée une colonne auxiliaire avec =ALEA() à côté de tes données, puis trie l'ensemble du tableau selon cette colonne. Tes données seront mélangées aléatoirement.
Fige ensuite la colonne ALEA en valeurs ou supprime-la pour éviter que l'ordre ne change au prochain recalcul.
Pour aller plus loin
Les fonctions similaires : ALEA.ENTRE.BORNES, ENT, ARRONDI, SI, TRONQUE
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

