Public Sub test()
Dim i&
Dim monDico1 As Object, monDico2 As Object
Dim a As Variant, b As Variant, T As Variant, k As Variant
Dim Rng As Range
Set monDico1 = CreateObject("Scripting.Dictionary")
Set monDico2 = CreateObject("Scripting.Dictionary")
With Sheets("Feuil1")
Set Rng = .Range(.Cells(2, 3), .Cells(.Rows.Count, 3).End(xlUp))
a = .Range(.Cells(2, 2), .Cells(.Rows.Count, 2).End(xlUp))
b = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
End With
For i = LBound(a, 1) To UBound(a, 1)
monDico1(a(i, 1)) = ""
Next i
For i = LBound(b, 1) To UBound(b, 1)
If Not monDico1.exists(b(i, 1)) Then monDico2(b(i, 1)) = ""
Next i
ReDim T(1 To monDico2.Count, 1 To 1)
i = 0
For Each k In monDico2.keys
i = i + 1
T(i, 1) = k
Next k
Application.ScreenUpdating = False
With Rng
.ClearContents
.Resize(monDico2.Count, 1) = T
End With
Application.ScreenUpdating = True
Set monDico1 = Nothing: Set monDico2 = Nothing
End Sub