Si vous travaillez avec Microsoft 365 et que vous avez choisi de recevoir les toutes dernières mises à jour, vous avez peut-être remarqué que certaines formules retournent le résultat dans plusieurs cellules avec un contour bleu. C'est ce qui est appelé plage de données matricielle.
Les fonctions matricielles dynamiques
A l'origine de cette nouveauté, il y a les fonctions matricielles dynamiques, comme les fonctions TRIER, FILTRE, UNIQUE, ...
Par exemple, cette animation vous montre comment la fonction UNIQUE, retourne une liste unique des données de la colonne A.

L'erreur #EPARS
Vous l'avez compris de vous-même, une plage matricielle indique que le résultat d'une fonction est retourné dans plus d'une cellule.
Et donc, un nouveau type d'erreur a été créé dans Excel; #EPARS (pour éparpillement). Je vous l'accorde, la traduction n'est pas géniale mais il n'y a pas non plus de termes français pour exprimer #SPILL (le terme en anglais).
Quand ce message d'erreur apparaît, cela signifie que la fonction n'a pas assez de place dans votre feuille de calcul pour afficher le résultat complet. Dans l'exemple suivant, les paramètres de la fonction SEQUENCE sont modifié jusqu'à attendre 6 lignes et donc, engendre l'erreur.



Validation matricielle inutile
Mais au-delà de ces nouveautés, ce sont toutes les formules matricielles historiques qui sont aussi impactées. Par exemple, les fonctions TRANSPOSE, FREQUENCE ou DROITEREG devaient être validées en appuyant simultanément sur les touches Ctrl + Maj + Entrée.
Maintenant, avec l'apparition des plages matricielles, il suffit d'écrire la formule pour que le résultat s'affiche immédiatement dans plusieurs cellules, juste avec Entrée.



Conséquence pour les calculs
Cette innovation change complètement la construction de formules traditionnelles.
Par exemple, vous pouvez effectuer un calcul sur toute une plage de cellules et plus seulement sur une seule cellule comme c'est le cas pour cette division.
Comme vous le constatez, il n'est pas nécessaire de verrouiller la référence de la cellule D1 pour que cette valeur soit utilisée dans toute la plage matricielle 😮



Mais aussi comme paramètre dans des fonctions, comme c'est le cas ici avec la fonction SI.



10/04/2021 @ 11:07
Bonjour,
Merci pour cet article très clair. J'essaie d'intégrer une formule TRANSPOSE dans un tableau structuré. Alors que la formule fonctionne en dehors du tableau structuré elle ne fonctionne plus quand on l'intègre dans le tableau (Erreur EPARS) alors que le nombre de colonnes du tableau correspond au nombre de lignes de la plage de données transposées. Y-a-t-il une solution que je n'ai pas vue ?
10/04/2021 @ 11:58
Bonjour, Si la fonction retourne EPARS, c'est qu'il n'y a forcément pas assez de place pour afficher le résultat
23/02/2021 @ 20:15
Bonjour,
J'ai construit un tableau de bord avec des fonctions matricielles rattachées à 3 menus déroulants dans une feuille interface et une feuille importation qui regroupe des données sur 3 années.
J'ai d'abord construit mon TB sur l'année 2020, tout fonctionne, puis j'ai importé les deux autres années dans ma feuille importation et ensuite j'ai modifié mes zones nommées, du moins l'amplitude afin que ces zones nommées englobent les deux nouvelles années. ET PATATRA, plus rien ne fonctionne. le choix de l'année affiche #VALEUR.
Du coup, j'ai modifié mes zones nommées afin qu'elles englobent juste l'année initiale, soit 2020, et là tout refonctionne...
Avez-vous une solution à me proposer ?
Cordialement.
Thomas.
21/09/2020 @ 06:25
Bonjour,
J'utilise l'option Tableau et cela semble incompatible avec les formules matricielles dispropagées. J'avais déjà vérifié auparavant mais là je m'aperçois que je ne peux même plus utiliser une simple fonction SOMME.SI dans un tableau sans qu'apparaisse l'erreur #Epars. Auriez-vous une solution autre que transformer mon tableau en plage de cellule (car je l'utilise pour créer un TCD) ?
En vous remerciant par avance.
21/09/2020 @ 11:19
Alors l'erreur ne vient pas du Tableau mais de la construction de la formule SOMME.SI comme je l'explique à la fin de cet article
04/09/2020 @ 07:47
Bonjour,
Merci pour votre excellent article qui aide bien à saisir les nouveautés.
Pour rebondir sur la question précédente, j'ai un tableau dans lequel j'ai défini des noms logiques pour les colonnes et j'ai des formules dans certaines colonnes avec des SI(OU...) (conditions sur les rabais accordés). Dans ce cas-là les formules matricielles retournent une erreur.
Par contre, sans les noms logiques de colonne, pas de formule matricielle, donc pas d'erreur.
Mais j'aimerais conserver mes noms logiques et ne pas avoir automatiquement de formule matricielle. Comment faire ?
Merci de votre conseil
Nicole Rosset
27/08/2020 @ 16:53
Comment faire pour que la formule ne se propage pas sur toutes une plage ? Ou autrement dit comment empêcher qu'une formule donne un résultat dans toute une plage alors que seulement certaines cellules nous intéresse ?
27/08/2020 @ 17:53
Mais c'est le principe même d'une plage dynamique c'est de se propager.
Après, tout dépend comment vous avez construit vos formules. Il faudra peut-être les revoir.