Qu'est-ce que la fonction MAKEARRAY ?
MAKEARRAY (sans équivalent direct en français) t'évite de copier-coller la même formule des centaines de fois pour remplir une grille : tu poses la règle une fois, et changer cette règle met à jour tout le tableau d'un coup, sans reprendre cellule par cellule.
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
Clique sur un argument pour aller à son explication.
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.
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.

Exemples pratiques pas à pas
Comment générer une table de multiplication avec les fonctions MAKEARRAY et LAMBDA
Tu prépares le support de la prochaine séance sur les tables de multiplication, et il te faut la grille de 1 à 5 affichée proprement, sans saisir les vingt-cinq produits un par un. La fonction MAKEARRAY construit la grille entière depuis une seule cellule : tu lui donnes ses dimensions et la règle de calcul, elle remplit le reste.
- 1Dans une cellule, écris
=MAKEARRAY(. - 2En 1er argument : saisis le nombre de lignes de la grille,
5. La fonction MAKEARRAY numérote ces lignes de 1 à 5 et transmet ce numéro à ton calcul, cellule après cellule. - 3En 2ᵉ argument : saisis le nombre de colonnes,
5. La grille fait donc 5 sur 5, soit vingt-cinq cellules que la fonction calcule une par une. - 4En 3ᵉ argument : écris la fonction LAMBDA qui remplit chaque cellule et referme-la,
LAMBDA(l; c; l*c). Ses deux paramètresletcreçoivent le numéro de ligne et le numéro de colonne, et le calcull*cles multiplie, si bien que la cellule de la ligne 3 et de la colonne 4 reçoit12. - 5Ferme la parenthèse de la fonction MAKEARRAY et appuie sur Entrée.
=MAKEARRAY(5; 5; LAMBDA(l; c; l*c))1 en haut à gauche jusqu'à 25 en bas à droite. Pour une table de 10 sur 10, seules les deux premières valeurs changent.Comment construire une matrice identité avec les fonctions MAKEARRAY et SI
Tu montes un calcul matriciel (une inversion, la résolution d'un système) et il te faut une matrice identité de taille 4 : des 1 sur la diagonale, des 0 partout ailleurs. La saisir à la main invite l'erreur, et il faudrait tout refaire à chaque changement de taille. La fonction MAKEARRAY la déduit de la seule position de chaque cellule.
- 1Dans une cellule, écris
=MAKEARRAY(. - 2En 1er argument : saisis le nombre de lignes de la matrice,
4. C'est la hauteur de la grille, et la fonction MAKEARRAY numérote ces lignes de 1 à 4 avant de les passer à ton calcul. - 3En 2ᵉ argument : saisis le nombre de colonnes,
4également. Une matrice identité est carrée, donc ses deux dimensions restent toujours égales. - 4En 3ᵉ argument : écris la fonction LAMBDA qui décide de chaque cellule et referme-la,
LAMBDA(l; c; SI(l=c; 1; 0)). Ses paramètresletcportent la position de la cellule en cours, et la fonction SI y pose1quand le numéro de ligne et celui de la colonne sont identiques, ce qui n'arrive que sur la diagonale,0partout ailleurs. - 5Ferme la parenthèse de la fonction MAKEARRAY et appuie sur Entrée.
=MAKEARRAY(4; 4; LAMBDA(l; c; SI(l=c; 1; 0)))l=c n'est vraie que dans quatre cas sur les seize cellules, ceux où la ligne et la colonne portent le même numéro. La diagonale reçoit donc 1 et les douze autres cellules 0, sans que tu aies rien saisi à la main.Comment additionner une matrice sans l'afficher avec les fonctions MAKEARRAY et SOMME
Tu veux juste le total de la table de multiplication de 1 à 5, pour contrôler un exercice, et pas la grille elle-même : vingt-cinq cellules occupées pour un seul chiffre utile, ce serait du gâchis. La fonction MAKEARRAY peut servir d'argument à une autre fonction, sans jamais poser son tableau sur la feuille.
- 1Dans une cellule, écris
=SOMME(. - 2En 1er argument : écris la fonction MAKEARRAY qui construit la table et referme-la,
MAKEARRAY(5; 5; LAMBDA(l; c; l*c)). Elle calcule les vingt-cinq produits de la table de multiplication de 1 à 5, mais au lieu de les déverser sur la feuille, elle les remet directement à la fonction SOMME. - 3Ferme la parenthèse de la fonction SOMME et appuie sur Entrée. Elle additionne les vingt-cinq valeurs reçues et renvoie leur total dans la seule cellule de saisie, sans que la grille atteigne jamais la feuille.
=SOMME(MAKEARRAY(5; 5; LAMBDA(l; c; l*c)))225 tient donc dans une seule cellule, et aucune autre n'est occupée. C'est ce qui sépare un tableau intermédiaire d'un tableau affiché.
Les 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
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.
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.
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.
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.
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.
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
Continue sur ta lancée après la fonction MAKEARRAY : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



