Function ValeurProche(chaine As String, Pl As Range) As String
Dim c As String, s, i As Byte, j As Byte, k As Long, pos As Byte
s = Split(Trim(chaine))
j = UBound(s)
For i = LBound(s) To UBound(s)
If i > 0 Then pos = InStr(chaine, s(j)): c = Mid(chaine, 1, pos - 2): j = j - 1 Else: c = chaine
For k = 1 To Pl.Rows.Count
If InStr(Pl(k), c) > 0 Then ValeurProche = c: Exit Function
Next k
Next i
End Function