Les fonctions ALEA() et ALEA.ENTRE.BORNES() génèrent des nombres aléatoires dans Excel : ALEA renvoie un réel compris entre 0 et 1, ALEA.ENTRE.BORNES un entier entre deux bornes. Elles servent pour simulations, tests et création de jeux de données, mais restent volatiles — il faut donc savoir comment figer ou reproduire les valeurs.
En bref
🧩 ALEA() produit un nombre décimal aléatoire entre 0 et 1 et se recalcule à chaque modification du classeur ; utile pour tirages continus ou pondérations.
🎯 ALEA.ENTRE.BORNES(min;max) fournit un entier aléatoire entre deux bornes incluses, idéal pour simuler tirages, indices ou catégories.
⚠️ Les deux fonctions sont volatiles : tout recalcul réinitialise les valeurs. Pour figer un jeu de données, copier-coller en valeurs ou utiliser Power Query/VBA.
🔧 En pratique, on combine ces fonctions avec formules, filtres ou graphiques pour créer échantillons, stress-tests ou prototypes de tableaux de bord.
Définitions et comportement de base
ALEA() et ALEA.ENTRE.BORNES(min;max) sont des fonctions natives d’Excel (versions françaises). ALEA() renvoie une valeur réelle uniforme sur l’intervalle [0;1[, tandis que ALEA.ENTRE.BORNES renvoie un entier uniformément choisi dans l’intervalle [min;max]. Le terme uniforme signifie que, sur un très grand nombre de tirages, chaque valeur possible a la même probabilité d’apparaître (pour la version entière, à granularité d’unité).
Syntaxes et exemples concrets
- =ALEA() → ex. 0,437289
- =ALEA.ENTRE.BORNES(1;10) → ex. 7 (entier entre 1 et 10 inclus)
- =ENT(ALEA()*100) → entier pseudo-aléatoire entre 0 et 99 (technique ancienne)
Exemple d’utilisation : pour simuler 1 000 tirages d’un capteur, on place =ALEA()
dans 1 000 cellules. Pour obtenir des catégories A, B, C pondérées, on combine ALEA() avec conditions ou une table de probabilités.
Comparaison pratique : ALEA vs ALEA.ENTRE.BORNES
Voici une vue synthétique pour choisir la bonne fonction selon le besoin :
Critère | ALEA() | ALEA.ENTRE.BORNES() |
---|---|---|
Type de valeur | Nombre réel (0 ≤ x < 1) | Entier (bornes incluses) |
Usage typique | Probabilités, pondérations, simulations continues | Tirages, indices, choix de catégories |
Volatilité | Les deux sont volatiles — recalculent à chaque modification | |
Facilité de discrétisation | Doit être transformée (ENT(), TRUNC()) | Natif — très simple |
Cas d’usage et recettes rapides
Ouvrez Excel : quelques recettes prêtes à l’emploi permettent de tirer profit des fonctions aléatoires sans vous arracher les cheveux.
1. Générer un échantillon de notes (0-20)
Formule : =ALEA.ENTRE.BORNES(0;20)
placée sur une colonne. Pour obtenir une distribution plus réaliste (cloisonnée autour d’une moyenne), combinez ALEA() avec fonctions statistiques (ex. =ENT(NORMINV(ALEA();10;3))
sur les versions prenant en charge NORMINV).
2. Simuler des demandes horaires
Pour tester un système de planning, générez des volumes horaires aléatoires. Exemple : =ENT(ALEA()*100)
pour obtenir 0–99. Cette méthode sert à prototyper dashboards ou jauges de performance — utile si vous construisez une jauge de performance ou un indicateur de charge.
3. Masquer la volatilité : figer les tirages
- Copier → Coller en valeurs (Ctrl+C, puis Collage spécial → Valeurs).
- Utiliser Power Query pour générer et conserver un jeu de données reproductible.
- VBA : forcer une graine et générer une séquence si vous avez besoin de reproductibilité complète.
Limites, pièges et bonnes pratiques
Les fonctions aléatoires semblent simples, mais posent des questions pratiques : répétition involontaire, performance sur grands tableaux, et impossibilité de définir une graine directement.
Volatilité et recalcul
ALEA et ALEA.ENTRE.BORNES se recalculent lorsque le classeur se met à jour : appuyez sur F9, modifiez une cellule liée, ou ouvrez le fichier, et les valeurs changent. Ce comportement est souhaitable pour simulations Monte-Carlo, problématique pour rapports figés.
Reproductibilité
Excel ne propose pas de graine accessible pour ses fonctions aléatoires standard. Pour des résultats reproductibles, utilisez :
- VBA (Randomize avec une graine définie) pour contrôler la séquence.
- Power Query ou un générateur externe pour charger des valeurs constantes.
- Copier-coller en valeurs après génération.
Performance
Sur des dizaines de milliers de lignes, la recalculabilité peut ralentir. Si vous alimentez des graphiques ou des calculs lourds avec ALEA, pensez à générer une fois puis figer, ou à segmenter les calculs.
Exemples avancés et combinaisons utiles
Les fonctions aléatoires s’intègrent bien dans des scénarios un peu plus élaborés : simulations Monte-Carlo, tests A/B, ou création de jeux de données anonymisés pour démonstration.
Simulation Monte‑Carlo simple
Construisez N simulations en colonnes : chaque simulation calcule un KPI à partir d’entrées aléatoires (prix, volumes, taux). Ensuite, calculez moyenne, médiane et percentiles pour estimer l’incertitude.
Exemple : anonymiser un fichier de suivi des heures
Vous souhaitez montrer une maquette de suivi sans exposer des données réelles : remplacez les heures par des valeurs aléatoires cohérentes. Combinez ALEA.ENTRE.BORNES() pour les heures entières et ALEA() pour des minutes fractionnaires. Cette approche s’adapte bien si vous présentez une maquette de suivi des heures de travail.
Trucs et astuces — micro‑tutoriel
Des petites méthodes pour gagner du temps et éviter les erreurs :
- Si vous avez besoin d’un floating aléatoire dans [a;b[: utilisez
=a + (b-a)*ALEA()
. - Pour des catégories pondérées (ex. 60% A, 30% B, 10% C) :
=SI(ALEA()<=0,6;"A";SI(ALEA()<=0,9;"B";"C"))
, ou mieux, tirer une valeur ALEA() unique puis imbriquer les SI en fonction des bornes cumulées. - Pour tirer plusieurs valeurs uniques sans répétition, combinez ALEA() avec RANG ou utilisez la fonction ALEA.ENTRE.BORNES pour générer une permutation après tri.
À retenir
Les fonctions ALEA() et ALEA.ENTRE.BORNES() sont puissantes pour prototypes, simulations et tests, mais leur volatilité exige prudence. Figer les résultats, utiliser Power Query ou VBA selon les besoins de reproductibilité, et choisir la version adaptée (réelle vs entière) évitent bien des désagréments.

FAQ — Questions fréquentes (extraits rapides)
Q : Quelle est la différence essentielle entre ALEA() et ALEA.ENTRE.BORNES() ?
A : ALEA() renvoie un réel dans [0;1[, ALEA.ENTRE.BORNES(min;max) renvoie un entier entre min et max inclus.
Q : Comment figer des valeurs générées par ALEA ?
A : Copier-coller en valeurs ou charger les données via Power Query ; en VBA, générer et stocker la séquence.
Q : Peut-on contrôler la “graine” pour obtenir des tirages reproductibles ?
A : Pas directement avec ALEA(); utilisez VBA (Randomize avec seed) ou une source externe.
Q : Les fonctions aléatoires ralentissent-elles un classeur lourd ?
A : Oui, surtout si de nombreuses cellules recalculent. Limitez la volatilité, segmentez les calculs, ou figez les résultats.
Q : Puis-je utiliser ALEA pour anonymiser des données ?
A : Oui : créez des valeurs plausibles (heures, indices) via ALEA.ENTRE.BORNES et remplacez les données sensibles pour démonstration ou tests.
Sources et références utiles
Pour approfondir, consultez la documentation officielle et des ressources appliquées sur les fonctions statistiques d’Excel. Les guides fournisseurs et la littérature sur les simulations Monte‑Carlo apportent des bases théoriques et des exemples pratiques.