Sub check()
Dim source1 As Worksheet, source2 As Worksheet, dest As Worksheet
Dim i As Integer, j As Integer
Dim cellRecherche As Range
Dim existe As Boolean
Set source1 = ThisWorkbook.Sheets("Profil1")
Set source2 = ThisWorkbook.Sheets("Profil2")
Set dest = ThisWorkbook.Sheets("Comparaison")
With source1
For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
existe = True
Set cellRecherche = source2.Columns(1).Find(.Range("A" & i), , xlValues, xlWhole)
If cellRecherche Is Nothing Then
existe = False
Else
For j = 1 To 3
If .Range("A" & i).Offset(0, j) <> cellRecherche.Offset(0, j) Then existe = False
Next j
End If
If Not existe Then .Range("A" & i).EntireRow.Copy dest.Range("A" & dest.Rows.Count).End(xlUp).Offset(1, 0)
Next i
End With
With source2
For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
existe = True
Set cellRecherche = source1.Columns(1).Find(.Range("A" & i), , xlValues, xlWhole)
If cellRecherche Is Nothing Then
existe = False
Else
For j = 1 To 3
If .Range("A" & i).Offset(0, j) <> cellRecherche.Offset(0, j) Then existe = False
Next j
End If
If Not existe Then .Range("A" & i).EntireRow.Copy dest.Range("A" & dest.Rows.Count).End(xlUp).Offset(1, 0)
Next i
End With
End Sub