Si les fichiers contenant du VBA ne posent pas de problème, pour faire face à ce problème j'avais écrit une petite UDF dont je vous met le code ci-après.
Suivant le principe indiqué par MaFraise, cette fonction a besoin d'etre entrée en Formule Matricielle puisqu'elle renvoie une liste.
Actuellement vous devez également utiliser TRANSPOSE car par défaut la fonction renvoie les valeurs en ligne (et non colonne), mais cela je peux vous l'adapter facilement si vous souhaitez.
Exemple d'usage :
Liste | {=TRANSPOSE(uniq(L19:L27))} |
1 | 1 |
4 | 4 |
7 | 7 |
1 | #N/A |
4 | #N/A |
7 | #N/A |
1 | #N/A |
4 | #N/A |
7 | #N/A |
L'UDF :
Function uniq(rng As Range) As Variant
Dim list As Object
Set list = CreateObject("System.Collections.ArrayList")
For Each cell In rng.Cells
If Not (list.contains(cell.Value2)) Then list.Add cell.Value2
Next cell
uniq = list.ToArray ' a remplacer par uniq = Application.Transpose(list.ToArray) pour renvoyer le résultat en colonne directement
End Function