Comparaison de données entre deux colonnes

Bonjour à tout le forum !

J'ai crée une macro qui me permet de comparer deux colonnes présents sur une feuille Excel (colonne A et B), et si une valeur de la colonne A n'est pas présente dans la colonne B, le fond de la cellule est surligné.

Maintenant j'aimerais pouvoir faire la même chose avec une colonne située dans une autre feuille mais je bloque.

En résumé:

Ma macro compare la colonne A de la feuille 1 avec la colonne B de la feuille 1.

J'aimerais comparer la colonne A de la feuille 1 avec la colonne C de la feuille 2.

Voici ma macro:

Sub compar()

Dim i As Long, lastA As Long, lastB As Long
Dim compare As Variant
Range("A:A").ClearFormats
lastA = Range("A65536").End(xlUp).Row
lastB = Range("B65536").End(xlUp).Row

For i = 2 To lastA
    compare = Application.Match(Range("a" & i), Range("B2:B" & lastB), 0)
        If IsError(compare) Then
            Range("A" & i).Interior.ColorIndex = 3
        End If
Next i
End Sub

Et en PJ mon fichier Excel.

En espérant avoir été assez clair.

Bonjour,

Voici un exemple (où il faudra renommer les feuilles dans le code).

Sub compar()
Dim i As Long, lastA As Long, lastB As Long
lastC = sheets("Feuil2").Range("C65536").End(xlUp).Row
with sheets("Feuil1")
    .Range("A:A").ClearFormats
    lastA = .Range("A65536").End(xlUp).Row
    For i = 2 To lastA
        If Application.countif(sheets("Feuil2").Range("C2:C" & lastC), .Range("a" & i).value) = 0 Then
            .Range("A" & i).Interior.ColorIndex = 3
        End If
    Next i
end with
End Sub

Par ailleurs, cette opération ne nécessite pas de macro puisqu'elle s'obtient avec une simple MFC :

=NB.SI(Feuil2!C:C;$A2)=0

A appliquer à la zone (la plage en colonne A de la feuille 1 avec les données).

Remarque n° 2 : En mettant toutes vos données sous forme de tableau structuré, ça faciliterait énormément les choses et vous permettrait d'avoir une MFC qui traite uniquement la plage utile et pas la colonne C en entier :

=NB.SI(Tab2[ColC];$A2)=0

avec un tableau en feuille 2 nommé Tab2 et la colonne C nommée ColC.

Cdlt,

Merci beaucoup !

Rechercher des sujets similaires à "comparaison donnees entre deux colonnes"