Depuis quelques année, Excel permet de créer simplement une liste sans doublons avec une seule fonction : UNIQUE.
Voyons ça !
Fonction UNIQUE
Principe et syntaxe
=UNIQUE(matrice ; [by_col] ; [exactly_once])Voyons ça en détails :
- matrice : plage de données qui sera analysé pour y sortir les valeurs uniques
- [by_col] : argument facultatif pour analyser par colonne (VRAI) ou par ligne (FAUX)
- [exactly_once] : argument facultatif. On choisissant VRAI, la fonction n’affichera pas les valeurs qui ont des doublons. Avec FAUX, la fonction affichera toutes les valeurs en y retirant les doublons.
Exemple
Testons maintenant cette fonction !
L’entreprise passe des commandes pour se réapprovisionner. Je veux la liste de tous les produits achetés.
Mon fichier Excel recense toutes les commandes. Il y a donc des produits qui apparaissent plusieurs fois.
- Je crée un nouveau tableau pour créer un listing des produits à partir de la cellule H1.
- Je me place sur la cellule H2.
- Je saisis ma formule.
Ma matrice est la colonne Référence de mon tableau de commande (que j’ai nommé Tabl_Cmd). La matrice est donc Tabl_Cmd[Référence]
Pour l’argument by_col, mes entrées sont rangées en lignes, donc FAUX.
Pour l’argument [exactly_once], je veux toutes les entrées avec le retrait des doublons, donc FAUX.
Au final, cela donne donc =UNIQUE(Tabl_Cmd[Référence])
Et comme j’ai utilisé un tableau structuré, la liste est dynamique !

Bon, on va un peu arranger ça : on va trier les entrées uniques alphabétiquement.
Fonction TRIER
=TRIER(tableau; [index_tri] ; [ordre_tri] ; [par_col])
- tableau : plage de données à trier
- [index_tri] : argument facultatif pour trier en fonction d’une autre colonne si la plage de données en contient plusieurs
- [ordre_tri] : argument facultatif pour un ordre décroissant en mettant -1
- [by_col] : argument facultatif si les données sont en colonnes (mettre 1 ou VRAI)

Maintenant, on va simplifier en imbriquant les deux fonctions.
En reprenant ce que l’on a saisi, cela donne =TRIER(UNIQUE(Tabl_Cmd[Référence]))

Concaténation
Après le tri, on peut encore améliorer notre liste pour la création d’une liste déroulante dynamique.
Pour des listes avec des codes/références, à moins de connaître par cœur son catalogue, il est fort à parier que vous reviendrez sur la base pour regarder à quoi correspond les références.
On va éviter cela en concaténant les données. C’est un terme d’Excel pour indiquer l’assemblage de plusieurs données dans une seule cellule.
Dans notre exemple, on va concaténer la référence avec le nom du produit.
Il existe une fonction CONCATENER mais j’en suis pas fan et il existe une alternative simple : l’esperluette &.
Syntaxe
Cela s’écrit facilement :
donnée1&donnée2
Utilisons un exemple :
Je veux concaténer sur ma ligne 2 la référence et le produit. J’écris donc en cellule G2 :
=A2&C2
Ainsi, mes 2 données sont assemblées.

Le problème est que les données sont attachées sans aucun espace.
Sachez qu’on peut personnaliser en ajoutant des caractères et espaces entre les 2. Il suffit de mettre des guillemets et ajouter une chaîne de caractères comme suit :
Donnée1&" "&Donnée2
Pour notre exemple, on va ajouter des espaces et un tiret. Cela donne comme formule :
=A2&" - "&C2

Vous pouvez constater que les valeurs de nos 2 cellules sont séparées et rend nos données plus lisibles.
Maintenant, passons à notre liste.
Dans une nouvelle colonne, je rentre la formule de calcul :
=TRIER(UNIQUE(Tabl_Cmd[Référence]&" - "&Tabl_Cmd[Produit]))

Il ne reste plus qu’à passer par la validation de données pour créer notre liste déroulante dynamique.
Vous avez maintenant une jolie liste déroulante avec des options claires (référence + désignation du produit).

