Bonjour à tous,
j'expliquerai ainsi :
une matrice est (le plus souvent) une plage.
Imagine que tu as une même opération à faire sur toutes les valeurs, dont tu veux connaitre la somme.
Par exemple, avec 1, 3 5 dans A2:A4 :
=SOMME(A2:A4+1)
Si tu fais une validation simple, excel ne fera la somme que du premier élément de la matrice => 2
Si tu fais F9 en ayant sélectionné A2:A4+1
, tu vois que ça te retourne une matrice (normal) : {2;4;6}
La validation matricielle force excel à évaluer d'abord la matrice pour qu'il calcule =SOMME({2;4;6})
, et là il peut faire la somme attendue 2+4+6 = > 12
Au passage tu reconnais Sommeprod() qui est une matricielle qui se cache
Bon à savoir : une formule dans un nom est toujours évaluée en matricielle.
A noter qu'il existe une 2nde forme de formule matricielle : elle te retourne une matrice, et tu dois avoir sélectionné plusieurs cellules avant de valider en matriciel pour lire tous les éléments de la matrice.
Par exemple sélectionne D2:D4, saisi =($A$2:$A$4+1)
que tu valides en matriciel. Excel te retourne les 3 éléments de la matrice.
Tu as par exemple =DROITEREG() qui te retourne une matrice de 2 éléments.
Soit tu les récupères un par un avec Index() soit tu fais une matricielle sur plage (horizontale, sinon tu récupèreras 2 fois le premier élément, la matrice retournée ayant un séparateur de colonne : {2.25\12.58})
J'espère ne pas avoir plus embrouillé, pas toujours simple à expliquer
eric