• Temps de lecture :4 mins read

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

La fonction UNIQUE permet de retourner à un ensemble de valeurs depuis un tableau en y retirant tous les doublons.Cela simplifie grandement la manipulation car auparavant, il existait des méthodes assez compliquées pour les néophytes d’Excel.Elle s’écrit de la manière suivante :
=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.

  1. Je crée un nouveau tableau pour créer un listing des produits à partir de la cellule H1.
  2. Je me place sur la cellule H2.
  3. 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 !

Liste sans doublons

Bon, on va un peu arranger ça : on va trier les entrées uniques alphabétiquement.

Fonction TRIER

Cette fonction, comme son nom l’indique, range alphanumériquement des données.Elle s’écrit
=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 qu’on sait comment elle fonctionne, mettons en application.Je me place sur la cellule I2 et je saisis =TRIER(H2#)Mes valeurs uniques sont dorénavant rangées alphabétiquement.
Tri des valeurs uniques

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]))

Imbrication des fonctions TRIER et UNIQUE

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.

concaténation de donné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
ajout d'espace dans la concaténation

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]))
liste aérée avec la concaténation

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).

liste déroulante concaténée