Qu'est-ce que la fonction PRODUITMAT ?
PRODUITMAT (MMULT en anglais) calcule le produit matriciel de deux tableaux. Contrairement à une simple multiplication cellule par cellule, elle effectue une opération d'algèbre linéaire : chaque cellule du résultat est la somme des produits d'une ligne entière de la première matrice par une colonne entière de la seconde. C'est un outil de niche, mais indispensable dans son domaine.
Côté métier, elle s'utilise pour appliquer une transformation géométrique (rotation, homothétie) à un ensemble de points 2D, calculer la valeur totale d'un portefeuille multi-actifs en croisant allocations et montants, propager un vecteur d'entrées à travers une couche de réseau de neurones, ou calculer les coûts de production croisés par usine et type de produit.
Syntaxe
Clique sur un argument pour aller à son explication.
Sur Excel classique (avant Excel 365), PRODUITMAT est une formule matricielle : sélectionne d'abord toute la plage de résultat, tape la formule, puis valide avec Ctrl+Maj+Entrée. Sous Excel 365, tape la formule normalement : les tableaux dynamiques s'étendent automatiquement.

Comprendre chaque paramètre de la fonction PRODUITMAT
Les deux matrices sont obligatoires, mais leur ordre n'a rien d'anodin : matrice1 vient toujours en premier et c'est elle qui multiplie matrice2, pas l'inverse. La seule contrainte de forme est que le nombre de colonnes de matrice1 colle au nombre de lignes de matrice2, sinon Excel te renvoie #VALEUR!.
Si tes données pointent dans le mauvais sens, ne réécris pas tes plages : enveloppe l'une d'elles dans TRANSPOSE() pour la pivoter avant de la passer à la fonction.
matrice1
: ta première matrice, un tableau rectangulaire de nombresElle peut avoir n'importe quelle dimension : 2×2, 3×4, 10×5... L'important est qu'elle soit compatible avec la seconde pour la multiplication.
Pense à ta matrice comme ayant m lignes et n colonnes (notation m×n). Ce n (le nombre de colonnes) devra correspondre au nombre de lignes de ta seconde matrice.
matrice2
: ta seconde matrice, celle qui sera multipliée avec la premièrePour que la multiplication fonctionne, elle doit avoir autant de lignes que la première matrice a de colonnes. Le résultat aura les dimensions : lignes(matrice1) × colonnes(matrice2).
Attention : Si matrice1 est de dimension m×n, alors matrice2 doit obligatoirement être de dimension n×p. Le résultat sera une matrice m×p. Si cette règle n'est pas respectée, Excel retourne #VALEUR!.

Exemples pratiques pas à pas
Comment multiplier deux matrices avec la fonction PRODUITMAT
Tu montes un modèle qui enchaîne deux transformations, et avant de le brancher sur tes vraies données tu veux voir le produit matriciel se dérouler sur deux matrices assez petites pour être vérifiées à la main. Les neuf valeurs de gauche forment la première matrice, les neuf valeurs de droite la seconde, et tu attends la grille 3×3 que donne leur produit. La fonction PRODUITMAT la sort d'une seule saisie, là où le calcul à la main demande vingt-sept multiplications et dix-huit additions.
- 1Dans une cellule, écris
=PRODUITMAT(. - 2En 1er argument : sélectionne le bloc de gauche avec ses neuf valeurs,
A2:C4. La ligne 1 ne porte que les en-têtesA1,A2etA3qui nomment les colonnes, et une plage qui les embarquerait mélangerait du texte à des nombres. - 3En 2ᵉ argument : sélectionne le bloc de droite,
E2:G4. C'est là que se joue la seule contrainte de forme de la fonction PRODUITMAT : la première matrice compte trois colonnes et la seconde trois lignes, les deux nombres tombent en face, donc la multiplication est possible. - 4Ferme la parenthèse et appuie sur Entrée. Tapée dans la seule cellule
I4, cette formule matricielle déverse d'elle-même ses neuf valeurs sur la plageI4:K6.
=PRODUITMAT(A2:C4; E2:G4)10 qui occupe la case centrale vient ainsi de la deuxième ligne du bloc de gauche (0, 1, 3) croisée avec la deuxième colonne du bloc de droite (0, 1, 3), soit 0×0 + 1×1 + 3×3. Une seule saisie en I4 suffit pour les neuf cases, parce qu'une matrice dynamique déverse son bloc entier à partir de la cellule de départ.Comment calculer un coût total par usine avec les fonctions PRODUITMAT et TRANSPOSE
Deux usines fabriquent les mêmes trois références, et la réunion budgétaire de lundi attend le coût de production de chacune. Tes quantités sont rangées par produit en lignes et par usine en colonnes, tes coûts unitaires tiennent dans la colonne d'à côté, et tu veux les deux totaux d'un coup plutôt qu'un calcul séparé par usine. La fonction PRODUITMAT croise les deux blocs en une seule saisie, une fois la colonne des coûts remise dans le bon sens.
- 1Dans une cellule, écris
=PRODUITMAT(. - 2En 1er argument : écris la fonction TRANSPOSE qui pivote les coûts et referme-la,
TRANSPOSE(D2:D4). Tes trois coûts unitaires sont rangés à la verticale, donc sur une seule colonne, et une matrice à une colonne ne peut pas rencontrer les trois lignes des quantités. En les couchant à plat sur une ligne de trois colonnes, TRANSPOSE rétablit la correspondance et t'évite l'erreur#VALEUR!. - 3En 2ᵉ argument : sélectionne les six quantités seules,
B2:C4, sans la colonneAdes libellés ni la colonneDdes coûts déjà passée en premier argument. Ce bloc compte trois lignes, exactement le nombre de colonnes que la première matrice offre désormais, et deux colonnes qui donneront les deux totaux attendus. - 4Ferme la parenthèse et appuie sur Entrée. Posée dans une cellule libre à droite du tableau comme
F2, cette formule matricielle étale toute seule le total Nord puis le total Sud sur la plageF2:G2.
=PRODUITMAT(TRANSPOSE(D2:D4); B2:C4)Comment résoudre un système d'équations linéaires avec les fonctions PRODUITMAT et INVERSEMAT
Un traiteur t'a livré trois fois le même assortiment de sandwichs, de salades et de desserts, mais sa facture ne porte qu'un total par livraison, jamais le prix de chaque article. Avant de renégocier, tu veux ces trois prix unitaires, et tes neuf quantités plus tes trois totaux suffisent à les retrouver puisque cela revient à un système de trois équations à trois inconnues. La fonction PRODUITMAT est la dernière brique du calcul, celle qui transforme la matrice des quantités retournée en trois prix lisibles.
- 1Dans une cellule, écris
=PRODUITMAT(. - 2En 1er argument : écris la fonction INVERSEMAT qui retourne la matrice des neuf quantités et referme-la,
INVERSEMAT(B2:D4). C'est ce retournement qui permet de remonter des totaux vers les prix, là où passer les quantités telles quelles multiplierait des quantités par des euros et n'aurait aucun sens. - 3En 2ᵉ argument : sélectionne les trois montants facturés,
E2:E4, pris seuls et dans le même ordre de lignes que les quantités. Cette colonne compte trois lignes, ce qui tombe en face des trois colonnes de l'inverse, et une seule colonne, donc le résultat en aura une aussi. - 4Ferme la parenthèse et appuie sur Entrée. Posée dans une cellule libre comme
G2, cette formule matricielle déverse ses trois prix sur la plageG2:G4, soit un prix par article dans l'ordre des colonnesSandwichs,SaladesetDesserts.
=PRODUITMAT(INVERSEMAT(B2:D4); E2:E4)7 € le sandwich, 8 € la salade et 4 € le dessert. Le calcul ne tient que si la matrice des quantités est carrée et inversible (trois livraisons pour trois articles, avec des assortiments réellement différents) : deux livraisons proportionnelles l'une à l'autre feraient remonter une erreur #NOMBRE! depuis INVERSEMAT.
Les erreurs fréquentes avec la fonction PRODUITMAT
Avec PRODUITMAT, les soucis viennent presque tous d'un décalage entre ce que tu crois multiplier et ce que la fonction multiplie vraiment. Les colonnes de la première matrice qui ne tombent pas en face des lignes de la seconde déclenchent #VALEUR!, et beaucoup s'attendent à un simple A1×B1 alors que chaque case du résultat est en réalité une somme de produits.
Deux autres pièges guettent : la multiplication matricielle n'est pas commutative, donc inverser les deux plages change tout, et sur Excel pré-365 une validation par simple Entrée ne te rend qu'une seule cellule au lieu de toute la matrice.
Erreur #VALEUR! : dimensions des matrices incompatibles
C'est l'erreur la plus courante. Elle survient quand le nombre de colonnes de la première matrice ne correspond pas au nombre de lignes de la seconde. Par exemple, une matrice 2×3 multipliée par une matrice 2×4 donne #VALEUR! car 3 ≠ 2.
Solution : Vérifie les dimensions : si matrice1 est m×n, alors matrice2 doit être n×p. Utilise =COLONNES(A1:C5) et =LIGNES(D1:D3) pour contrôler les dimensions avant de lancer la multiplication. Si besoin, utilise TRANSPOSE() pour réorienter l'une des matrices.
Confusion entre multiplication matricielle et multiplication cellule par cellule
Si tu veux simplement multiplier A1×B1, A2×B2, etc., tu n'as pas besoin de PRODUITMAT. Chaque cellule du résultat d'un PRODUITMAT est la somme des produits d'une ligne entière par une colonne entière, ce qui est une opération bien différente.
Solution : Pour une multiplication élément par élément, utilise simplement =A1:A10*B1:B10 (Excel 365) ou =A1*B1 copié vers le bas. PRODUITMAT est réservé à l'algèbre linéaire.
L'ordre des matrices donne un résultat faux ou inattendu
La multiplication matricielle n'est pas commutative : PRODUITMAT(A;B) n'est généralement pas égal à PRODUITMAT(B;A). Inverser les matrices par erreur produit un résultat complètement faux (quand ce n'est pas une erreur #VALEUR! à cause des dimensions).
Solution : Vérifie l'ordre de tes matrices selon ta modélisation. Si tu inverses les matrices intentionnellement pour t'adapter aux dimensions, utilise TRANSPOSE() plutôt que d'échanger les plages.
Sur Excel classique : une seule cellule de résultat au lieu de la matrice complète
Sur Excel pré-365, PRODUITMAT est une formule matricielle et nécessite une saisie spéciale. Si tu valides avec Entrée simple, tu n'obtiens qu'une seule valeur.
Solution : Sélectionne d'abord toute la plage de résultat (par exemple 2×4 cellules si le résultat est une matrice 2×4), tape la formule, puis valide avec Ctrl+Maj+Entrée. Les accolades {} apparaissent automatiquement.

Astuces avancées avec PRODUITMAT
Combine PRODUITMAT avec TRANSPOSE pour réorienter tes données
Quand tes données ne sont pas orientées dans le bon sens pour la multiplication, TRANSPOSE() les pivote avant de les passer à PRODUITMAT : =PRODUITMAT(TRANSPOSE(A1:C2); D1:F4). C'est souvent plus simple que de réorganiser les données dans la feuille.
Vérifie toujours les dimensions après le TRANSPOSE pour confirmer que la règle n×p est respectée.
Vérifie la compatibilité des dimensions avec NBLIG et NBCOL
Avant de lancer un PRODUITMAT complexe, contrôle que tes matrices sont compatibles avec =COLONNES(matrice1) et =LIGNES(matrice2). Ces deux valeurs doivent être égales pour que la multiplication fonctionne.
Place ces cellules de contrôle dans une zone dédiée de ta feuille si tu travailles régulièrement avec des matrices qui changent de taille.
Vérifie l'inversion d'une matrice avec INVERSEMAT
Pour vérifier qu'une inversion matricielle est correcte, multiplie la matrice par son inverse : =PRODUITMAT(A1:C3; INVERSEMAT(A1:C3)). Le résultat doit être la matrice identité (1 sur la diagonale, 0 ailleurs).
Des valeurs très proches de 0 (comme 1E-15) sont normales : c'est une imprecision numérique inévitable.
Questions fréquentes
L'erreur #VALEUR! apparaît quand les dimensions de tes matrices sont incompatibles. Le nombre de colonnes de la première matrice doit être égal au nombre de lignes de la seconde. Par exemple, une matrice 2×3 ne peut être multipliée qu'avec une matrice 3×n.
Multiplier cellule par cellule (A1*B1, A2*B2...) est une opération directe et simple. PRODUITMAT effectue une multiplication matricielle : chaque cellule du résultat est la somme des produits d'une ligne entière de la première matrice par une colonne entière de la seconde. C'est une opération d'algèbre linéaire.
Oui, absolument. PRODUITMAT(A;B) n'est généralement pas égal à PRODUITMAT(B;A). La multiplication matricielle n'est pas commutative. L'ordre compte énormément et inverse complètement le résultat dans la plupart des cas.
Cela dépend de ta version. Sous Excel 365 ou Excel 2021, tape simplement ta formule et appuie sur Entrée : le résultat s'étend automatiquement sur toutes les cellules nécessaires. Sous Excel classique (2019 et antérieur), sélectionne d'abord toute la plage de résultat, tape ta formule, puis valide avec Ctrl+Maj+Entrée.
Oui. Tu peux multiplier une matrice 2×3 avec une matrice 3×4 : le résultat sera une matrice 2×4. Les matrices n'ont pas besoin d'être carrées. La seule contrainte est que le nombre de colonnes de la première matrice doit être égal au nombre de lignes de la seconde.
Pour aller plus loin
Continue sur ta lancée après la fonction PRODUITMAT : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



