Sub Macro1()
Dim cs As Workbook 'déclare la variable cs (Classeur Source)
Dim cc As Workbook 'déclare la variable cc (Classeur Cible)
Dim os As Object 'déclare la variable os (Onglet Source)
Dim oc As Object 'déclare la variable oc (Onglet Cible)
Dim tbs As Variant 'déclare la variable tbs (TaBleau Source)
Dim tbc As Variant 'déclare la variable tbc (TaBleau Cible)
Dim li As Long 'déclare la variable li (LIgne)
Dim col As Integer 'déclare la variable col (COLonne)
Dim tcp() As Long 'déclare la variable tcp (Tableau ComParateur)
Dim i As Long 'déclare la variable i (Incrément)
Set cs = ThisWorkbook 'définit le classeur source
'il faut impérativement que le classeur cible soit ouvert !
Set cc = Workbooks("ClasseurCible.xlsx") 'définit la classeur cible (à adapter à ton cas (renommer)
Set os = cs.Sheets("Feuil1") 'définit l'onglet source (à adapter à ton cas)
Set oc = cc.Sheets("Feuil1") 'définit l'onglet cible (à adapter à ton cas)
tbs = os.Range("A1").CurrentRegion.Value 'définit le tableau tbs (position de départ à adapter à ton cas)
tbc = oc.Range("A1").CurrentRegion.Value 'définit le tableau tbc (position de départ à adapter à ton cas)
For li = 1 To UBound(tbs, 1) 'boucle 1 : sur toutes les lignes du tableau source
For col = 1 To UBound(tbs, 2) 'boucle 2 : sur toutes les colonnes du tableau source
If tbs(li, col) <> tbc(li, col) Then 'si les valeurs de la même position des deux tableaux sont différentes
ReDim Preserve tcp(1, i) 'redimensionne le tableau comparateur
tcp(0, i) = li: tcp(1, i) = col 'récupère le numéro de ligne et le numéro de colonne
i = i + 1 'incrémente i
End If 'fin de la condition
Next col 'prochaine colonne de la boucle 2
Next li 'prochaine ligne de la boucle 1
On Error GoTo fin 'gestion des erreurs, en cas d'erreur va à l'étiquette "fin"
MsgBox "Nombre de valeurs différentes : " & UBound(tcp, 1) 'message (génère une erreur si aucune valeur différente)
For i = 0 To UBound(tcp, 1) - 1 'boucle sur toutes les valeurs du tableau tcp
'repérage par couleur rouge des cellules différentes
os.Cells(tcp(0, i), tcp(1, i)).Interior.ColorIndex = 3 'onglet source
oc.Cells(tcp(0, i), tcp(1, i)).Interior.ColorIndex = 3 'onglet cible
Next i 'prochaine valeur de la boucle
Exit Sub 'sort de la procédure
fin: 'étiquette
MsgBox "Les deux classeurs sont identiques !"
End Sub