Une des manipulations très courantes à réaliser dans Excel c'est de retourner une liste de valeurs distinctes et sans vide. Pour cela, les nouvelles fonctions matricielles dynamique vous être d'une grande aide.
C'est quoi une fonction matricielle
Une fonction matricielle c'est tout simplement une fonction qui va renvoyer un résultat autant de cellule que nécessaire et non pas une seule cellule.
Vous avez par exemple ici une présentation de la fonction UNIQUE qui s'adapte aux valeurs de la colonne A.

ATTENTION : Les fonctions matricielles dynamiques ne sont accessibles que pour les utilisateurs d'Excel 365 et Excel Online
UNIQUE renvoie les cellules vides
Nous aurions très bien pu juste utiliser la fonction UNIQUE pour extraire une liste de valeur disctinctes. Seulement, si notre liste de données contient des valeurs vides, UNIQUE retourne l'information sous la forme d'un 0.
Par exemple, nous avons en colonne A la liste des prénoms mais avec certaines cellules vides.



Pourquoi dans la première utilisation de UNIQUE, il n'y a pas de vides ?
Si vous regardez la première animation de cet article, UNIQUE ne retourne jamais la valeur 0.
C'est parce que nos données sont dans un Tableau et donc les références sont dynamiques. En effet, les références s'adaptent à la taille d'un Tableau.
Et de plus, quand une valeur a été retirée, nous avons supprimer une ligne du tableau et pas juste effacé le contenu de la cellule.
Faire un test logique sur toutes les cellules
Toujours grâce aux plages matricielles dynamiques, il est maintenant possible de réaliser un test logique sur toutes les cellules d'une plage de données.
Et tout simplement, nous allons chercher à savoir si le contenu des cellules est vide ou pas
=ESTVIDE(A2:A15)



Mais nous devons inverser le résultat pour obtenir VRAI quand la cellule n'est pas vide. Donc, nous allons utiliser pour cela la fonction NON.
=NON(ESTVIDE(A2:A15))



La fonction FILTRE à notre secours
Maintenant, nous allons intégrer le résultat de ce test à l'intérieur de la fonction FILTRE. En effet, la fonction FILTRE va retourner la liste des valeurs où le test est VRAI.
=FILTRE(A2:A15;NON(ESTVIDE(A2:A15)))



Liste de valeurs distinctes non vides
Maintenant, il ne reste plus qu'à intégrer cette formule dans une fonction UNIQUE
=UNIQUE(FILTRE(A2:A15;NON(ESTVIDE(A2:A15))))



Et pour faire le travail très proprement, vous pouvez également trier le résultat avec la fonction TRIER.



25/12/2022 @ 18:25
Hello
ça marche quand c'est des données sur la même feuille, c'est pas la même quand les données sont dans un tableau d'une autre feuille
du coup ça n'aide pas vraiment
18/01/2023 @ 11:02
Je viens de tester suite à la lecture de l'article et cela fonctionne très bien sur des données présentes dans d'autres tableaux ou d'autres feuilles d'un même fichier excel.