Sub Comparer(tablo1 As Range, tablo2 As Range)
Dim d1 As Object, d2 As Object, t, ncol%, i&, x$, j%
Set d1 = CreateObject("Scripting.Dictionary")
Set d2 = CreateObject("Scripting.Dictionary")
d1.CompareMode = vbTextCompare 'la casse est ignorée
d2.CompareMode = vbTextCompare
'---1er tableau---
t = tablo1: ncol = UBound(t, 2) 'matrice, plus rapide
For i = 2 To UBound(t)
x = t(i, 1) & t(i, 2)
d1(x) = ""
For j = 2 To ncol
x = x & Chr(1) & t(i, j)
Next j
d2(x) = ""
Next i
'---2ème tableau---
Application.ScreenUpdating = False
tablo2.Offset(1).Resize(Rows.Count - 1).Interior.ColorIndex = xlNone 'RAZ
t = tablo2 'matrice, plus rapide
For i = 2 To UBound(t)
x = t(i, 1) & t(i, 2)
If Not d1.exists(x) Then tablo2.Rows(i).Interior.ColorIndex = 4: GoTo 1 'vert
For j = 2 To ncol
x = x & Chr(1) & t(i, j)
Next j
If Not d2.exists(x) Then tablo2.Rows(i).Interior.ColorIndex = 6 'jaune
1 Next i
End Sub