Sub Bouton1_Cliquer()
Dim F1P1 As Range, F1P2 As Range, F2P1 As Range, F2P2 As Range, d As Object, n As Byte, c As Range
Set F1P1 = Feuil1.[A2:I20]: Set F1P2 = Feuil1.[K3:M11] 'tableaux de la 1ère feuille, à adapter
Set F2P1 = Feuil2.[A1:I20]: Set F2P2 = Feuil2.[K2:M10] 'tableaux de la 2ème feuille, à adapter
Set d = CreateObject("Scripting.Dictionary")
d.CompareMode = vbTextCompare 'la casse est ignorée
Application.ScreenUpdating = False
For n = 1 To 2 '1 colore en Feuil1, 2 colore en Feuil2
d.RemoveAll
IIf(n = 1, F1P1, F2P1).Parent.Protect "", UserInterfaceOnly:=True
'---étude du 1er tableau---
For Each c In IIf(n = 1, F2P1, F1P1)
If c <> "" Then d(c.Value) = ""
Next c
IIf(n = 1, F1P1, F2P1).Font.ColorIndex = xlNone
For Each c In IIf(n = 1, F1P1, F2P1)
If d.exists(c.Value) Then c.Font.ColorIndex = 3
Next c
'---étude du 2ème tableau---
d.RemoveAll
For Each c In IIf(n = 1, F2P2, F1P2)
If c <> "" Then d(c.Value) = ""
Next c
IIf(n = 1, F1P2, F2P2).Font.ColorIndex = xlNone
For Each c In IIf(n = 1, F1P2, F2P2)
If d.exists(c.Value) Then c.Font.ColorIndex = 3
Next c
Next n
End Sub