Option Explicit
Option Compare Text 'pour ignorer la casse
Sub Résultat()
Dim i&, t, flag As Boolean, j&
Application.ScreenUpdating = False
[A:B].Copy
[C1].Insert 'insertion de 2 colonnes auxiliaires C et D
[C:C].Sort [C1], Header:=xlYes 'tri
[D:D].Sort [D1], Header:=xlYes 'tri
'---suppression des doublons en colonne C---
For i = Application.CountA([C:C]) To 3 Step -1
If Cells(i - 1, 3) = Cells(i, 3) Then Cells(i, 3).Delete xlUp
Next
'---suppression des doublons en colonne D---
For i = Application.CountA([D:D]) To 3 Step -1
If Cells(i - 1, 4) = Cells(i, 4) Then Cells(i, 4).Delete xlUp
Next
'---Comparaison des 2 colonnes C et D et suppressions---
For i = Application.CountA([C:C]) To 2 Step -1
t = Cells(i, 3)
flag = False
For j = Application.CountA([D:D]) To 2 Step -1
If InStr(Cells(j, 4), t) Then Cells(j, 4).Delete xlUp: flag = True
Next
If flag Then Cells(i, 3).Delete xlUp
Next
'---résultat en colonne E---
i = Application.CountA([C:C]): j = Application.CountA([D:D])
If i > 1 Then [C2].Resize(i - 1).Copy [E2]
If j > 1 Then [D2].Resize(j - 1).Copy Cells(i + 1, 5)
i = IIf(i + j < 2, 2, i + j)
Range("E" & i & ":E" & Rows.Count).Delete xlUp
[C:D].Delete 'suppression des colonnes auxiliaires
i = ActiveSheet.UsedRange.Rows.Count 'RAZ du UsedRange
[C:C].Sort [C1], Header:=xlYes 'tri facultatif
End Sub