Function RechTousFiltre(ByVal Produit As String, ByVal Filtre As String, _
ByVal ChampRecherche As Range, ByVal ChampRetourné As Range) As String
Dim F As Worksheet, TRech() As Variant, TRetr() As Variant, Ts() As String, _
Le As Long, Ls As Long
Set F = ChampRecherche.Worksheet
TRech = Intersect(ChampRecherche, F.UsedRange).Value
TRetr = Intersect(ChampRetourné, F.UsedRange).Value
Ls = -1
For Le = 1 To UBound(TRech, 1)
If TRech(Le, 1) = Filtre And TRech(Le, 2) = Produit Then
Ls = Ls + 1: ReDim Preserve Ts(0 To Ls): Ts(Ls) = TRetr(Le, 1)
End If
Next Le
On Error Resume Next
RechTousFiltre = Join(Ts, ", ")
If Err Then RechTousFiltre = ""
End Function