MAKEARRAY (sans équivalent direct en français) génère un tableau bidimensionnel en appliquant une fonction LAMBDA à chaque combinaison d'indices de ligne et de colonne. Tu définis les dimensions et la règle de calcul, Excel remplit automatiquement toutes les cellules.
C'est la fonction parfaite pour créer des tables de multiplication, des matrices mathématiques, des grilles de coordonnées, des calendriers personnalisés ou des grilles de prix sans remplir manuellement la moindre cellule. Une seule formule remplace potentiellement des centaines de calculs individuels, et toute modification de la logique se répercute instantanément sur tout le tableau.
Syntaxe de la fonction MAKEARRAY
=MAKEARRAY(lignes; colonnes; lambda)La fonction LAMBDA passée à MAKEARRAY doit accepter exactement deux paramètres : le numéro de ligne (à partir de 1) et le numéro de colonne (à partir de 1). Si elle accepte un nombre différent de paramètres, Excel retourne #VALEUR!.
Comprendre chaque paramètre de la fonction MAKEARRAY
Les trois arguments arrivent toujours dans le même ordre : d'abord le nombre de lignes, puis le nombre de colonnes, et enfin la LAMBDA qui calcule chaque cellule. Les deux premiers sont des entiers (les décimales sont tronquées), et aucun n'est facultatif : la LAMBDA doit recevoir exactement le numéro de ligne et le numéro de colonne, dans cet ordre, pour décider quoi écrire.
lignes
: le nombre de lignes du tableau à créerCe doit être un entier positif strictement supérieur à zéro. Si tu passes une valeur décimale, Excel la tronque automatiquement à la partie entière.
Astuce : Utilise ENT() pour garantir un entier si la valeur vient d'un calcul : =MAKEARRAY(ENT(A1); ENT(B1); LAMBDA(l; c; l*c)). Cela évite les erreurs #VALEUR! dues à des dimensions décimales.
colonnes
: le nombre de colonnes du tableau à créerMêmes règles que lignes : entier positif, les décimales sont tronquées. La combinaison lignes × colonnes détermine le nombre total de cellules calculées.
Attention : Évite les tableaux dont lignes × colonnes dépasse quelques milliers quand la LAMBDA effectue des calculs lourds : cela peut ralentir sensiblement Excel. Viser 100×100 maximum pour des formules complexes.
lambda
: la fonction LAMBDA qui détermine la valeur de chaque celluleElle doit accepter exactement deux paramètres : le premier reçoit le numéro de ligne (1, 2, 3...), le second le numéro de colonne (1, 2, 3...). Elle peut contenir n'importe quelle expression Excel valide.
Par exemple, LAMBDA(l; c; l*c) multiplie le numéro de ligne par le numéro de colonne, ce qui produit une table de multiplication. Tu peux imbriquer des SI, des références à des cellules externes, des LET, ou même d'autres fonctions LAMBDA.
Astuce : Teste ta LAMBDA en isolation avant de l'intégrer dans MAKEARRAY : =LAMBDA(l; c; l*c)(3; 4) renvoie 12. Si ce test fonctionne, la LAMBDA est correcte.
Exemples pratiques pas à pas
Enseignant : table de multiplication en une formule
Tu es enseignant et tu veux afficher une table de multiplication sur ton support pédagogique sans saisir 25 formules séparées. Une seule formule MAKEARRAY génère tout le tableau d'un coup.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | 1 | 2 | 3 | 4 | 5 | |
| 2 | 1 | 1 | 2 | 3 | 4 | 5 |
| 3 | 2 | 2 | 4 | 6 | 8 | 10 |
| 4 | 3 | 3 | 6 | 9 | 12 | 15 |
| 5 | 4 | 4 | 8 | 12 | 16 | 20 |
| 6 | 5 | 5 | 10 | 15 | 20 | 25 |
=MAKEARRAY(5; 5; LAMBDA(l; c; l*c))La fonction crée un tableau de 5 lignes et 5 colonnes, où chaque cellule contient le produit du numéro de ligne par le numéro de colonne. Pour passer à une table de 10×10, tu changes juste les deux premières valeurs.
Responsable logistique : grille de coordonnées de casiers
Tu gères un entrepôt avec des casiers organisés en lignes et colonnes, et tu veux générer automatiquement les étiquettes de chaque emplacement au format « lettre + chiffre » (A1, B2, C3...).
| A | B | C | |
|---|---|---|---|
| 1 | A | B | C |
| 2 | A1 | B1 | C1 |
| 3 | A2 | B2 | C2 |
| 4 | A3 | B3 | C3 |
=MAKEARRAY(3; 3; LAMBDA(l; c; CAR(64+c)&l))La formule construit chaque étiquette en convertissant le numéro de colonne en lettre avec CAR(64+c) (65 = code ASCII de A) et en y collant le numéro de ligne. Pour un entrepôt de 10 rangées et 5 allées, change simplement les dimensions.
Algèbre linéaire : matrice identité
Tu fais du calcul matriciel (analyse financière, modélisation de portefeuille, ingénierie) et tu as besoin d'une matrice identité : des 1 sur la diagonale principale, des 0 partout ailleurs.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Col 1 | Col 2 | Col 3 | Col 4 |
| 2 | 1 | 0 | 0 | 0 |
| 3 | 0 | 1 | 0 | 0 |
| 4 | 0 | 0 | 1 | 0 |
| 5 | 0 | 0 | 0 | 1 |
=MAKEARRAY(4; 4; LAMBDA(l; c; SI(l=c; 1; 0)))Pour chaque cellule, la formule teste si le numéro de ligne égale le numéro de colonne. Si oui, elle place un 1 ; sinon, un 0. La même technique s'applique à toutes les matrices structurées : triangulaire inférieure, diagonale avec valeurs variables, ou matrice de corrélation.
Contrôleur de gestion : table de conversion Celsius-Fahrenheit
Tu prépares un rapport technique ou un cahier de spécifications qui nécessite une table de conversion de températures. Plutôt que de saisir chaque valeur à la main, MAKEARRAY génère tout le tableau en une formule.
| A | B | |
|---|---|---|
| 1 | Celsius | Fahrenheit |
| 2 | 0 | 32 |
| 3 | 10 | 50 |
| 4 | 20 | 68 |
| 5 | 30 | 86 |
| 6 | 40 | 104 |
=MAKEARRAY(5; 2; LAMBDA(l; c; SI(c=1; (l-1)*10; (l-1)*10*9/5+32)))La formule utilise la position de colonne pour décider quoi calculer : quand c=1, elle génère les valeurs Celsius (l-1)*10 (0, 10, 20...) ; quand c=2, elle applique la conversion Fahrenheit °C × 9/5 + 32. Cette technique s'adapte à n'importe quelle table de conversion : devises, distances, pressions.
Marketing : damier visuel pour tableau de bord
Tu conçois un tableau de bord ou un modèle de saisie et tu veux alterner les lignes ou cellules avec un motif visuel pour améliorer la lisibilité, sans appliquer manuellement une mise en forme conditionnelle cellule par cellule.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | A | B | C | D | E |
| 2 | ◼ | ◻ | ◼ | ◻ | ◼ |
| 3 | ◻ | ◼ | ◻ | ◼ | ◻ |
| 4 | ◼ | ◻ | ◼ | ◻ | ◼ |
| 5 | ◻ | ◼ | ◻ | ◼ | ◻ |
=MAKEARRAY(4; 5; LAMBDA(l; c; SI(MOD(l+c; 2)=0; "◼"; "◻")))La formule utilise MOD(l+c; 2) pour tester si la somme des indices est paire ou impaire, ce qui alterne automatiquement les deux symboles. Remplace les symboles par du texte, des chiffres ou d'autres valeurs selon ton besoin.
Finance : grille de prix par quantité et durée
Tu es commercial ou responsable produit et tu dois créer une grille tarifaire où le prix dépend de la quantité achetée et de la durée d'engagement. Plutôt qu'une feuille de calcul laborieuse avec des formules dans chaque cellule, MAKEARRAY génère la grille entière depuis une seule formule.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 1 mois | 3 mois | 6 mois | 12 mois |
| 2 | 100 | 290 | 570 | 1 100 |
| 3 | 190 | 551 | 1 083 | 2 090 |
| 4 | 270 | 783 | 1 539 | 2 970 |
=MAKEARRAY(3; 4; LAMBDA(l; c; (l*100)*(c+(c-1)*0.05)*0.95^(c-1)))Chaque cellule calcule le prix selon sa position : l représente le palier de quantité, c la durée. La logique de remise est centralisée dans la LAMBDA : tu la modifies une fois, toute la grille se met à jour. Idéal pour tester différents scénarios de tarification rapidement.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction MAKEARRAY
Comme MAKEARRAY relance ta LAMBDA une fois par cellule, le moindre faux pas dans cette formule se propage partout. Le cas le plus fréquent est le #CALC! : une seule combinaison de ligne et colonne fait planter la LAMBDA (division par zéro, référence absente) et tout le tableau affiche l'erreur. Le test à réflexe : isoler ta LAMBDA avec des indices précis, par exemple =LAMBDA(l; c; ta_formule)(2; 3), pour voir laquelle coince.
#CALC! dans le tableau résultat
La fonction LAMBDA passée à MAKEARRAY contient une erreur logique ou référence des cellules inexistantes pour certaines combinaisons d'indices. MAKEARRAY exécute la LAMBDA pour chaque cellule, et si l'une d'elles plante, c'est l'erreur #CALC! qui s'affiche.
Solution : Teste ta LAMBDA en isolation avec des valeurs représentatives : =LAMBDA(l; c; ta_formule)(2; 3) avant de l'intégrer dans MAKEARRAY. Repère ainsi quelle combinaison d'indices provoque l'erreur.
#VALEUR! sur les dimensions
Les arguments lignes ou colonnes ne sont pas des entiers positifs : valeur nulle, négative, ou non numérique.
Solution : Utilise ENT() pour forcer des entiers et MAX(1; ...) pour garantir une valeur positive : =MAKEARRAY(MAX(1; ENT(A1)); MAX(1; ENT(B1)); LAMBDA(l; c; l*c)).
Référence circulaire involontaire
La LAMBDA référence une cellule qui se trouve dans la zone de débordement du tableau généré par MAKEARRAY. Excel détecte la dépendance circulaire et refuse de calculer.
Solution : Assure-toi que la LAMBDA n'utilise que des références situées en dehors de la plage de résultat de MAKEARRAY, ou des calculs purement basés sur les indices l et c.
La LAMBDA ne prend pas exactement deux paramètres
MAKEARRAY appelle systématiquement la LAMBDA avec deux arguments (ligne, colonne). Si ta LAMBDA en déclare un ou trois, Excel retourne #VALEUR!.
Solution : Vérifie que ta LAMBDA a la forme LAMBDA(l; c; expression) avec exactement deux paramètres avant le calcul.
Questions fréquentes sur la fonction MAKEARRAY
MAKEARRAY fonctionne-t-elle dans toutes les versions d'Excel ?
Non. MAKEARRAY est disponible uniquement dans Excel 365 et Excel 2024+. Elle repose sur le moteur de tableaux dynamiques et sur la fonction LAMBDA, deux technologies absentes des versions antérieures.
Si tu dois partager ton fichier avec des utilisateurs sur Excel 2019 ou 2016, prévois une version de secours avec des formules classiques.
Comment créer une table de multiplication avec cette fonction ?
Utilise =MAKEARRAY(10; 10; LAMBDA(l; c; l*c)) pour obtenir une table de 10×10 où chaque cellule contient le produit de son numéro de ligne par son numéro de colonne.
Pour une table de taille différente, change simplement les deux premières valeurs. Les indices commencent à 1, donc la cellule en haut à gauche contiendra 1×1=1.
Peut-on combiner MAKEARRAY avec d'autres fonctions de tableau dynamique ?
Oui, MAKEARRAY se combine parfaitement avec SEQUENCE, MAP, REDUCE, FILTER, TRIER et les autres fonctions de tableau dynamique. Tu peux aussi utiliser le résultat de MAKEARRAY comme argument d'une autre fonction.
Par exemple, =SOMME(MAKEARRAY(5; 5; LAMBDA(l; c; l*c))) calcule directement la somme de toute la table de multiplication sans l'afficher.
Quelle est la différence entre MAKEARRAY et SEQUENCE ?
SEQUENCE génère uniquement des séquences numériques linéaires (1, 2, 3... ou avec un pas défini). MAKEARRAY permet une logique arbitraire : chaque cellule peut avoir une valeur calculée selon n'importe quelle règle métier.
Pour une simple progression arithmétique, SEQUENCE est plus courte. Pour une table de multiplication, une matrice identité ou une grille de prix, MAKEARRAY est indispensable.
Comment déboguer une LAMBDA complexe dans MAKEARRAY ?
Teste la LAMBDA en dehors de MAKEARRAY avec des valeurs spécifiques. Par exemple, si ta LAMBDA s'appelle via MAKEARRAY(10; 10; LAMBDA(l; c; expression)), teste avec =LAMBDA(l; c; expression)(3; 7) pour simuler la cellule ligne 3, colonne 7.
Si ce test renvoie le bon résultat, la LAMBDA est correcte. Sinon, simplifie l'expression jusqu'à isoler la partie fautive.
MAKEARRAY peut-elle générer du texte et pas seulement des nombres ?
Oui. La LAMBDA peut retourner n'importe quel type de valeur : texte, nombre, date, valeur logique.
Par exemple, =MAKEARRAY(4; 3; LAMBDA(l; c; "L"&l&"C"&c)) génère un tableau rempli d'étiquettes du type « L1C1 », « L1C2 », etc. Les exemples de damier et de grille de coordonnées de cette page en sont d'autres illustrations.
Pour aller plus loin
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
