En bref —
TABLEAU.ALEA([lignes]; [colonnes]; [min]; [max]; [nombre_entier])est le générateur aléatoire tout-en-un d'Excel 365 : une seule formule déverse tout un bloc de nombres aléatoires au lieu de vous faire tirerALEAsur mille lignes. Les cinq arguments sont facultatifs.=TABLEAU.ALEA()nu se comporte commeALEA(). L'interrupteur qui décide entre décimaux et entiers est le dernier argument,nombre_entier, et il vautFAUXpar défaut — vous obtenez donc des décimaux comme3,71sauf si vous passez explicitementVRAI. Elle reste volatile (se relance à chaque modification) et elle se propage, donc une plage bloquée renvoie#PROPAGATION!.
=TABLEAU.ALEA() ' -> 0,6218... un décimal dans [0 ; 1[, comme ALEA()
=TABLEAU.ALEA(5) ' -> déverse 5 décimaux aléatoires en colonne
=TABLEAU.ALEA(5; 3) ' -> déverse une grille 5×3 de décimaux
=TABLEAU.ALEA(5; 3; 1; 100; VRAI) ' -> une grille 5×3 d'entiers aléatoires 1–100
=SORTBY(A2:A20; TABLEAU.ALEA(LIGNES(A2:A20))) ' -> mélange une liste en une formule
Si vous connaissez déjà ALEA et ALEA.ENTRE.BORNES, TABLEAU.ALEA est la suite naturelle : elle fait ce que font les deux, pour toute une région d'un coup, et elle se redimensionne toute seule. Les pièges tiennent à l'ordre des arguments, à une valeur par défaut sournoise, et au fait que — étant un tableau dynamique — elle peut entrer en collision avec ce qui se trouve en dessous.
Ce que vous allez apprendre
- Le modèle mental : TABLEAU.ALEA, c'est ALEA + ALEA.ENTRE.BORNES, propagées
- Pourquoi l'indicateur
nombre_entiervaut FAUX par défaut — le n° 1 des « pourquoi ai-je des décimaux ? » - L'ordre complet des arguments, et le comportement de
min/maxpour décimaux vs entiers - Pourquoi elle reste volatile, et quand elle renvoie
#PROPAGATION! - La combinaison gagnante :
SORTBY(liste; TABLEAU.ALEA(...))pour mélanger - Quand TABLEAU.ALEA n'est pas disponible (et quoi utiliser à la place)
Le modèle mental : ALEA et ALEA.ENTRE.BORNES, propagées
ALEA donne un décimal. ALEA.ENTRE.BORNES donne un entier. Pour remplir un tableau
avec l'une ou l'autre, l'ancienne méthode consistait à écrire la formule une fois puis à
la tirer sur des centaines de cellules. TABLEAU.ALEA condense tout cela en une seule
formule qui se propage — vous lui donnez la forme (lignes, colonnes) et la saveur
(plage, entier ou non), et elle peint le bloc entier d'un coup.
C'est toute l'idée : une fonction qui est à la fois les deux dés classiques et la
recopie vers le bas, réunis. Lisez =TABLEAU.ALEA(5; 3; 1; 100; VRAI) comme « donne-moi
une grille 5 par 3 d'ALEA.ENTRE.BORNES(1; 100) », et =TABLEAU.ALEA(5; 3) comme
« donne-moi une grille 5 par 3 d'ALEA() ». Dès que vous la voyez comme « ALEA propagée /
ALEA.ENTRE.BORNES propagée », les arguments cessent de sembler arbitraires.
Les arguments — et la valeur FAUX par défaut qui piège tout le monde
Les cinq arguments sont facultatifs, mais leur ordre compte et une valeur par défaut surprend presque tout le monde :
=TABLEAU.ALEA([lignes]; [colonnes]; [min]; [max]; [nombre_entier])
- lignes, colonnes — la forme du bloc propagé (par défaut 1 × 1).
- min, max — la plage (par défaut
0à1). Les deux bornes sont incluses lorsque vous générez des entiers. - nombre_entier —
VRAIpour des entiers,FAUXpour des décimaux. Défaut :FAUX.
Cette dernière valeur par défaut est la question TABLEAU.ALEA n° 1 : « j'ai demandé des
nombres entre 1 et 100 et j'ai obtenu 47,83 — pourquoi ? » Parce que vous vous êtes
arrêté à max sans jamais passer nombre_entier :
=TABLEAU.ALEA(5; 1; 1; 100) ' -> décimaux comme 47,83 (nombre_entier omis = FAUX)
=TABLEAU.ALEA(5; 1; 1; 100; VRAI) ' -> entiers comme 47 (nombre_entier = VRAI)
Règle : si vous voulez des entiers, vous devez terminer la formule par VRAI.
Fournir min et max ne suffit pas — elle renvoie volontiers des décimaux dans cette
plage. C'est l'inverse d'ALEA.ENTRE.BORNES, qui ne produit que des entiers, si bien que
ceux qui migrent depuis ALEA.ENTRE.BORNES se font piéger à chaque fois. (Un détail
supplémentaire sur les entiers qui mérite un coup d'œil : avec nombre_entier à VRAI,
min et max doivent eux-mêmes être des entiers, sinon Excel renvoie #VALEUR! — et si
min est supérieur à max, #VALEUR! à nouveau.)
Elle reste volatile, et elle se propage toujours
TABLEAU.ALEA hérite des deux comportements qui définissent l'aléatoire en tableau dynamique :
- Volatile — comme ALEA et ALEA.ENTRE.BORNES, elle se relance à chaque recalcul :
toute modification,
F9, tri, ou ouverture de fichier. Si vous devez conserver un résultat, figez-le de la même façon : sélectionnez la propagation, Copier, Collage spécial → Valeurs. (Figez la plage propagée entière d'un coup, pas seulement la cellule en haut à gauche.) - Propagation — elle écrit dans les cellules situées en dessous et à droite de là où
vous l'avez tapée. Si quelque chose s'y trouve déjà, vous obtenez une erreur
#PROPAGATION!au lieu des nombres. Dégagez l'obstacle et le tableau apparaît.
=TABLEAU.ALEA(1000; 1; 1; 100; VRAI) ' remplit 1000 cellules depuis UNE formule...
' ...mais relance les 1000 à chaque recalcul
Cette volatilité mérite le respect à grande échelle : un TABLEAU.ALEA de mille cellules recalcule chacune d'elles à chaque frappe ailleurs dans le classeur. Pour un modèle de simulation vivant, c'est très bien ; pour un jeu de données finalisé, figez-le pour que les recalculs s'arrêtent.
La combinaison gagnante : mélanger une liste avec SORTBY + TABLEAU.ALEA
La chose la plus utile que fait TABLEAU.ALEA n'est pas de générer des nombres que vous conservez — c'est de générer des nombres selon lesquels vous triez avant de les jeter. Associez-la à SORTBY et vous mélangez une liste en une seule formule, sans colonne d'aide :
=SORTBY(A2:A20; TABLEAU.ALEA(LIGNES(A2:A20))) ' -> la liste dans un ordre aléatoire
=TAKE(SORTBY(A2:A20; TABLEAU.ALEA(LIGNES(A2:A20))); 5) ' -> un échantillon aléatoire de 5, sans répétition
TABLEAU.ALEA(LIGNES(...)) fabrique une clé aléatoire par ligne ; SORTBY ordonne les
lignes selon ces clés ; l'aléatoire disparaît à l'instant où il a fait son travail.
Comme chaque ligne reçoit une clé distincte et est simplement réordonnée, rien ne se
répète — c'est exactement le comportement sans remise qu'ALEA.ENTRE.BORNES ne peut pas
vous offrir. Ce motif est la colonne vertébrale de la sélection et de l'échantillonnage
aléatoires, et TABLEAU.ALEA est ce qui en fait un
one-liner sur 365.
Savoir trancher
Sur Excel 365, TABLEAU.ALEA rend obsolète le « tirer ALEA sur 1 000 lignes » — une
seule formule, aucun glissement, et elle se redimensionne quand vos données grandissent.
Dégainez-la dès que vous avez besoin d'un bloc d'aléatoire ou d'une clé de tri
aléatoire. Les deux choses à garder en tête sont la valeur nombre_entier = FAUX par
défaut (terminez par VRAI quand vous voulez des entiers) et la volatilité (figez en
valeurs dès qu'un résultat est définitif). Le seul cas où il ne faut pas l'utiliser,
c'est la compatibilité : TABLEAU.ALEA est une fonction de tableau dynamique, elle
n'existe donc que dans Excel 365 et Excel 2021 — si votre classeur doit tourner sous
Excel 2019 ou antérieur, repliez-vous sur ALEA et
ALEA.ENTRE.BORNES tirées vers le bas à l'ancienne.
Comment ExcelMaster vous aide
La valeur FAUX par défaut et la mécanique de propagation sont faciles à oublier, alors
laissez un assistant de formules les porter. Demandez à ExcelMaster « une grille
10×5 d'entiers aléatoires de 1 à 100 » et il écrit =TABLEAU.ALEA(10; 5; 1; 100; VRAI)
— avec le VRAI que vous auriez oublié — et pointe la propagation vers une plage vide
pour que vous ne voyiez jamais #PROPAGATION!. Demandez-lui de « mélanger cette liste »
ou de « tirer un échantillon aléatoire de 25 lignes » et il construit la combinaison
SORTBY(...; TABLEAU.ALEA(...)), puis propose de figer la sortie en valeurs pour que
votre échantillon cesse de bouger. Et s'il détecte que votre fichier vise un Excel plus
ancien, il se replie discrètement sur une approche à base d'ALEA qui, elle, y
fonctionnera.
Questions fréquentes
Que fait la fonction TABLEAU.ALEA dans Excel ?
=TABLEAU.ALEA([lignes]; [colonnes]; [min]; [max]; [nombre_entier]) renvoie un tableau
propagé de nombres aléatoires. Sans argument, elle renvoie un unique décimal dans
[0 ; 1[ comme ALEA() ; avec lignes et colonnes, elle remplit tout un bloc ; avec
min, max et nombre_entier réglé sur VRAI, elle remplit ce bloc d'entiers
aléatoires dans votre plage. C'est le générateur aléatoire tout-en-un d'Excel 365.
Pourquoi TABLEAU.ALEA me donne-t-elle des décimaux au lieu d'entiers ?
Parce que l'argument nombre_entier vaut FAUX par défaut. Passer min et max ne
fait que définir la plage — cela ne force pas les entiers. Pour obtenir des nombres
entiers, vous devez ajouter VRAI en cinquième argument : =TABLEAU.ALEA(5; 1; 1; 100; VRAI). Sans lui, TABLEAU.ALEA renvoie des décimaux dans [min ; max].
TABLEAU.ALEA est-elle volatile ? Comment l'empêcher de se recalculer ?
Oui — comme ALEA et ALEA.ENTRE.BORNES, elle se relance à chaque recalcul. Pour conserver un résultat, sélectionnez la plage propagée entière, Copier, puis Collage spécial → Valeurs. Cela convertit tout le tableau en nombres statiques qui ne changent plus.
Pourquoi TABLEAU.ALEA affiche-t-elle une erreur #PROPAGATION! ?
TABLEAU.ALEA est un tableau dynamique qui se propage dans les cellules situées en dessous
et à droite de la formule. Si l'une de ces cellules contient déjà des données, Excel ne
peut pas se propager et affiche #PROPAGATION!. Effacez ou déplacez ce qui bloque la
plage de propagation et le tableau apparaît.
Comment mélanger une liste ou tirer un échantillon aléatoire avec TABLEAU.ALEA ?
Triez selon une clé aléatoire : =SORTBY(plage; TABLEAU.ALEA(LIGNES(plage))) renvoie la
liste dans un ordre aléatoire, et =TAKE(SORTBY(plage; TABLEAU.ALEA(LIGNES(plage))); n)
prend un échantillon aléatoire de n sans répétition. Voir Sélectionner, échantillonner
et mélanger au hasard dans Excel.
Testé dans
Testé dans : Excel 365 (Windows 11) — dernière vérification le 11/07/2026.
Guides associés : Excel ALEA & ALEA.ENTRE.BORNES · Sélection & échantillonnage aléatoires · Excel SORT & SORTBY · Excel TAKE & DROP
