Option Explicit
Sub ShowDiff()
  If ActiveSheet.Name <> "Différence" Then Exit Sub
  Dim m&, n1&, n2&, n3&: m = Rows.Count
  Dim sh1 As Worksheet: Set sh1 = Worksheets("Ancien")
  n1 = sh1.Cells(m, 1).End(3).Row: If n1 = 1 Then Exit Sub
  Dim sh2 As Worksheet: Set sh2 = Worksheets("Nouveau")
  n2 = sh2.Cells(m, 1).End(3).Row: If n1 = 1 Then Exit Sub
  Dim D(1 To 15), P1&, G1$, P2&, G2$, i&, j%, k As Byte
  n3 = Cells(m, 1).End(3).Row: Application.ScreenUpdating = 0
  If n3 > 3 Then
    With Range("A4:O" & n3)
      .Interior.ColorIndex = -4142: .ClearContents
    End With
  End If
  n3 = 4
  For i = 2 To n1
    P1 = sh1.Cells(i, 1): G1 = sh1.Cells(i, 2)
    P2 = sh2.Cells(i, 1): G2 = sh2.Cells(i, 2)
    If (P1 = P2) Or (G1 = G2) Then
      Erase D: k = 0
      For j = 1 To 15
        If sh1.Cells(i, j) <> sh2.Cells(i, j) Then
          D(j) = 1: k = k + 1
        End If
      Next j
      If k > 0 Then
        sh2.Cells(i, 1).Resize(, 15).Copy Cells(n3, 1)
        For j = 1 To 15
          If D(j) = 1 Then Cells(n3, j).Interior.Color = 255
        Next j
        n3 = n3 + 1
      End If
    End If
  Next i
End Sub