Sub es()
Dim m As Object, T(), i As Long
Set m = CreateObject("Scripting.Dictionary")
T = Feuil1.Range("A1").CurrentRegion
For i = LBound(T, 1) To UBound(T, 1)
m(T(i, 2)) = Array(T(i, 2) & "|" & T(i, 3), T(i, 2), T(i, 3))
Next i
With Feuil2
.[A1].Resize(m.Count, 1) = Application.Index(m.items, , 1)
.[B1].Resize(m.Count, 1) = Application.Index(m.items, , 2)
.[C1].Resize(m.Count, 1) = Application.Index(m.items, , 3)
End With
End Sub