Sub Comparer_Reporter_Reperer()
Dim wsSource As Worksheet, wsCible As Worksheet
Dim dlSource As Long, dlCible As Long
Dim i As Long, j As Long
Dim Trouver As Boolean
' Définir les feuilles source et cible
Set wsSource = ThisWorkbook.Sheets("source")
Set wsCible = ThisWorkbook.Sheets("cible")
' Trouver la dernière ligne de chaque feuille
dlSource = wsSource.Cells(wsSource.Rows.Count, "B").End(xlUp).Row
dlCible = wsCible.Cells(wsCible.Rows.Count, "C").End(xlUp).Row
' Réinitialiser la couleur des cellules de A à G
wsSource.Range("A1:G" & dlSource).Interior.ColorIndex = xlNone
' Boucle à travers chaque ligne de la feuille source
For i = 1 To dlSource
Trouver = False ' Réinitialiser la variable pour chaque ligne de la source
' Boucle à travers chaque ligne de la feuille cible
For j = 2 To dlCible ' Commencer à 2 pour ignorer la ligne des titres
' Comparer les valeurs
If wsSource.Cells(i, "B").Value = wsCible.Cells(j, "C").Value Then
' Si égal, reporter la valeur de la colonne B de la feuille cible dans la colonne C de la feuille source
wsSource.Cells(i, "C").Value = wsCible.Cells(j, "B").Value
Trouver = True ' Marquer comme trouvé
Exit For ' Sortir de la boucle si une correspondance est trouvée
End If
Next j
' Si non trouvé, mettre en évidence la plage A:G
If Not Trouver Then
wsSource.Range(wsSource.Cells(i, 1), wsSource.Cells(i, 7)).Interior.Color = RGB(255, 255, 0) ' Surligner en jaune
End If
Next i
MsgBox "Mise à jour terminée dans la colonne C!"
End Sub