Qu'est-ce que la fonction ALEA ?
ALEA (RAND en anglais) te sert dès que tu as besoin d'introduire du hasard dans une feuille sans télécharger de générateur externe ni écrire une ligne de code. Elle ne demande aucun réglage, ni plage à définir ni paramètre à configurer : juste un résultat qui change à chaque recalcul.
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
=ALEA()Clique sur un argument pour aller à son explication.
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.

Exemples pratiques pas à pas
Comment faire varier un montant de plus ou moins 10 % avec la fonction ALEA
Le budget de l'année prochaine doit être présenté, et une prévision unique posée à 1 000 000 € ne rassurera personne. Tu as une feuille de simulations prête, et tu veux faire varier ce revenu de référence au hasard de plus ou moins 10 % sur chaque ligne, pour voir l'éventail des résultats possibles plutôt qu'un chiffre isolé. La fonction ALEA tire un hasard neuf sur chaque simulation et remplit toute la colonne des revenus d'un coup.
- 1Dans une cellule, écris
=1000000*(1+. Le million est le revenu de référence de ton budget, et la parenthèse ouvre le coefficient qui va le faire varier. Ce coefficient démarre à1, la valeur qui laisserait le revenu intact. - 2Écris
ALEA(), parenthèses vides comprises. La fonction ne prend aucun argument et tire un décimal compris entre 0 et 1, ce qui en fait la seule source de hasard de toute la formule. Les parenthèses restent obligatoires même sans argument : sans elles, Excel cherche une plage nomméeALEA, ne la trouve pas et renvoie#NOM?. - 3Écris
*0,2pour étaler le tirage sur l'amplitude voulue. La valeur obtenue se promène désormais entre 0 et 0,2 au lieu de 0 et 1. - 4Écris
-0,1pour recentrer cette plage autour de zéro. La variation tombe alors entre -0,1 et +0,1, soit entre -10 % et +10 %. C'est exactement la fourchette annoncée. - 5Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Le coefficient vaut entre 0,9 et 1,1, donc chaque simulation reçoit un revenu compris entre 900 000 € et 1 100 000 €, tiré indépendamment des autres.
=1000000*(1+ALEA()*0,2-0,1)Attention : La fonction ALEA est volatile : toute la colonne se retire au moindre changement dans la feuille, et même à la simple ouverture du fichier. Avant d'analyser tes simulations ou de les montrer à quelqu'un, sélectionne la colonne, copie-la avec Ctrl+C puis colle en valeurs avec Ctrl+Shift+V. Les tirages deviennent des nombres fixes et ne bougeront plus.
Comment générer un nombre aléatoire entre deux bornes avec les fonctions ALEA et ARRONDI
L'application doit être validée avant la mise en production, et une base de test remplie de trois montants ronds saisis à la main ne prouvera rien. Tu as la liste des transactions à peupler et tu veux un montant crédible sur chacune, tiré au hasard entre 5 € et 500 €, avec des centimes comme un vrai paiement. La fonction ALEA fournit le tirage, et la fonction ARRONDI lui donne l'allure d'un montant.
- 1Dans une cellule, écris
=ARRONDI(. - 2En 1er argument : écris le calcul qui produit le montant,
ALEA()*495+5. La fonction ALEA s'écrit avec des parenthèses vides et ne sait tirer qu'entre 0 et 1, donc la multiplication par495étire son tirage sur toute la largeur qui sépare 5 € de 500 €. L'addition de5le décale ensuite sur la borne basse. La règle vaut pour n'importe quelles bornes : tu multiplies par leur écart, puis tu ajoutes la plus petite. - 3En 2ᵉ argument : saisis le nombre de décimales à garder,
2. Le montant s'arrête ainsi aux centimes, au lieu de traîner toutes les décimales du tirage et de ne ressembler à aucun paiement réel. - 4Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Chaque transaction reçoit son propre montant, et la fonction ALEA en tire un nouveau à chaque recalcul de la feuille.
=ARRONDI(ALEA()*495+5; 2)156,73 € de la première ligne.Comment tirer un nom au hasard dans une liste avec la fonction ALEA
Le jeu-concours est clos et il faut désigner le gagnant devant tout le monde, sans qu'on puisse te soupçonner d'avoir poussé ton favori. Tu as la liste des participants dans une colonne et tu veux qu'Excel en désigne un seul, avec la même chance pour chacun. La fonction ALEA fournit le hasard, et la fonction INDEX va chercher dans la liste le nom qui lui correspond.
- 1Dans une cellule, écris
=INDEX(. - 2En 1er argument : sélectionne la plage dans laquelle piocher,
A2:A7. Elle couvre les six participants et laisse la ligne d'en-tête de côté. - 3En 2ᵉ argument : écris le tirage qui désigne la position à ramener,
ENT(ALEA()*NBVAL(A2:A7))+1. La fonction NBVAL compte les participants et renvoie6, si bien que la formule suivra toute seule le jour où la liste s'allongera. La fonction ALEA multipliée par ce total couvre l'intervalle qui va de 0 à 6, et la fonction ENT n'en garde que la partie entière, soit un entier de 0 à 5 puisque la fonction ALEA n'atteint jamais 1. Le+1final cale ces entiers sur les positions réelles de la plage, qui vont de 1 à 6. - 4Ferme la parenthèse de la fonction INDEX et appuie sur Entrée. Celles des fonctions ENT et NBVAL ont déjà été refermées à l'étape précédente.
=INDEX(A2:A7; ENT(ALEA()*NBVAL(A2:A7))+1)Attention : Tant que la formule est en place, le gagnant change à chaque frappe dans la feuille, puisque la fonction ALEA se recalcule sans arrêt. Dès que le nom est sorti, colle-le en valeurs avec Ctrl+Shift+V : tu peux l'annoncer sans qu'il se volatilise entre-temps.

Les 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
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.
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).
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.
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.
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
Continue sur ta lancée après la fonction ALEA : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



