Aller au contenu principal

Qu'est-ce que la fonction MAKEARRAY ?

Définition
La fonction MAKEARRAY crée un tableau de dimensions définies en calculant chaque cellule via une fonction LAMBDA qui reçoit les indices de ligne et de colonne. Disponible uniquement dans Excel 365 et Excel 2024+.

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

=MAKEARRAY(lignes; colonnes; lambda)

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!.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

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.

1

lignes

: le nombre de lignes du tableau à créer

Ce 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.

2

colonnes

: le nombre de colonnes du tableau à créer

Mê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.

3

lambda

: la fonction LAMBDA qui détermine la valeur de chaque cellule

Elle 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.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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.

Les étapes
  1. 1
    Dans une cellule, écris =MAKEARRAY(.
  2. 2
    En 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.
  3. 3
    En 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.
  4. 4
    En 3ᵉ argument : écris la fonction LAMBDA qui remplit chaque cellule et referme-la, LAMBDA(l; c; l*c). Ses deux paramètres l et c reçoivent le numéro de ligne et le numéro de colonne, et le calcul l*c les multiplie, si bien que la cellule de la ligne 3 et de la colonne 4 reçoit 12.
  5. 5
    Ferme la parenthèse de la fonction MAKEARRAY et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=MAKEARRAY(5; 5; LAMBDA(l; c; l*c))
Explication
La fonction MAKEARRAY appelle la fonction LAMBDA vingt-cinq fois, une fois par cellule de la grille, en lui passant à chaque tour la position courante. Le résultat n'est pas une valeur unique mais un tableau de 5 lignes sur 5 colonnes qui se déverse depuis la cellule de saisie, de 1 en haut à gauche jusqu'à 25 en bas à droite. Pour une table de 10 sur 10, seules les deux premières valeurs changent.
Exemple 2

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.

Les étapes
  1. 1
    Dans une cellule, écris =MAKEARRAY(.
  2. 2
    En 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.
  3. 3
    En 2ᵉ argument : saisis le nombre de colonnes, 4 également. Une matrice identité est carrée, donc ses deux dimensions restent toujours égales.
  4. 4
    En 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ètres l et c portent la position de la cellule en cours, et la fonction SI y pose 1 quand le numéro de ligne et celui de la colonne sont identiques, ce qui n'arrive que sur la diagonale, 0 partout ailleurs.
  5. 5
    Ferme la parenthèse de la fonction MAKEARRAY et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=MAKEARRAY(4; 4; LAMBDA(l; c; SI(l=c; 1; 0)))
Explication
Ici, la fonction LAMBDA ne calcule plus une valeur mais tranche entre deux : la comparaison 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.
Exemple 3

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.

Les étapes
  1. 1
    Dans une cellule, écris =SOMME(.
  2. 2
    En 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.
  3. 3
    Ferme 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.
Une fois les morceaux assemblés, ta formule donne ça :=SOMME(MAKEARRAY(5; 5; LAMBDA(l; c; l*c)))
Explication
La fonction MAKEARRAY construit bien ses vingt-cinq valeurs, mais elles passent directement à la fonction SOMME au lieu de se déverser sur la feuille. Le total 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é.
Le combo gagnant
SEQUENCE ne sait produire que des suites de nombres régulières, alors que MAKEARRAY calcule chaque cellule selon la règle que tu veux. Pour une simple progression, reste sur SEQUENCE ; pour une table de multiplication ou une matrice identité, c'est MAKEARRAY.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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.

Le conseil du pro
Avant d'insérer ta LAMBDA dans MAKEARRAY, teste-la seule sur une cellule précise : =LAMBDA(l;c;ta_formule)(2;3) doit renvoyer la bonne valeur. Si ce test passe, le #CALC! ne viendra pas de ta logique.
FAQ

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.

Ressources

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