Bonjour,

J'ai une liste de nom associée à un code à trois lettres:

Paul XXX
Jean YYY
Claude ZZZ
Pierrre BBB
Antoine SSS
Paul XXX
Arthur XXX
Nicolas PPP

J'ai besoin de récupérer les noms associés à un code. Par exemple je veux récupérer les noms associés au code XXX. En effectuant une recherchev classique cela me renvoi Paul. Or dans ma liste il n'y a pas que Paul qui possède le code XXX. J'ai donc trouvé le code d'une fonction qui permet de retourner tout les noms associés à un code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function VLookUpList(ValeurRecherchee As Range, TableDeRecherche As Range, NumColonne As Integer) As Variant
Dim NbLignes As Integer
NbLignes = TableDeRecherche.Rows.Count
 
Dim CompteurValeursTrouvees As Integer
CompteurValeursTrouvees = 0
 
For i = 1 To NbLignes
    If TableDeRecherche(i, 1).Value = ValeurRecherchee.Value Then
        CompteurValeursTrouvees = CompteurValeursTrouvees + 1
        If CompteurValeursTrouvees > 1 Then
        VLookUpList = VLookUpList & ";" & TableDeRecherche(i, NumColonne).Value
    Else
        VLookUpList = TableDeRecherche(i, NumColonne).Value
        End If
    End If
Next i
 
End Function
Cependant dans mon exemple vous pouvez voir que Paul est associé deux fois au code XXX. Cette fonction me renvoi donc deux fois Paul.
J'aimerai la modifier pour qu'elle me renvoi que des valeurs unique et supprime les doublons.

J'aimerai avoir comme résultat
XXX Paul;Arthur
et non pas
XXX Paul;Paul;Arthur

Merci pour votre aide !