Comparaison deux plages données

Bonjour à tous,

Je voudrais comparer deux plages de données, à savoir, vérifier que toutes les données de ma colonne 2 soient bien présente dans ma colonne 1. Dans ma colonne 1 j'ai des valeurs en doublons, et dans ma colonne 2 la valeur est unique.

S'il y a une donnée dans ma colonne 1 qui n'est pas présente dans la colonne 2 me la faire ressortir..

Je joint mon fichier.

Merci beaucoup de votre aide, je suis perdu

Bien à vous

Bonjour jibouchou

Vois ceci :

Option Explicit
Sub test()
Dim r As Range, dico As Object
    Application.ScreenUpdating = False
    Set dico = CreateObject("Scripting.Dictionary")
    dico.CompareMode = 1
    With Sheets("Feuil1")
        For Each r In .Range("b2", .Range("b" & .Rows.Count).End(xlUp))
            dico.Item(r.Value) = Empty
        Next
        With .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
            .Interior.ColorIndex = xlNone
        End With
        For Each r In .Range("a2", .Range("a" & Rows.Count).End(xlUp))
            If Not dico.exists(r.Value) Then
                r.Interior.ColorIndex = 43
            End If
        Next
    End With
    Set dico = Nothing
    Application.ScreenUpdating = True
End Sub

klin89

Ah super merci !!!! cela fonctionne mais en réalité cette partie :

==> For Each r In .Range("b2", .Range("b" & .Rows.Count).End(xlUp)

est sur une autre feuille qui s'appelle I à partir de F2 , et cette partie :

==> with .Range("a2", .Range("a" & .Rows.Count).End(xlUp))

.Interior.ColorIndex = xlNone

End With

For Each r In .Range("a2", .Range("a" & Rows.Count).End(xlUp))

est sur une feuille qui s'appelle H à partir de D2...

Est-il possible de modifier?? je suis vraiment nul DSL

J'ai mis mon cas précis ci-joint

Merci beaucoup d'avance.

12copie.xlsx (141.62 Ko)

bonjour

un essai sans vba

32jbouchou.xlsx (23.93 Ko)

cordialement

Re jibouchou,

Bonjour tulipe_4,

le code réajusté :

Option Explicit
Sub test()
Dim r As Range, dico As Object
    Application.ScreenUpdating = False
    Set dico = CreateObject("Scripting.Dictionary")
    dico.CompareMode = 1
    With Sheets("I")
        For Each r In .Range("f2", .Range("f" & .Rows.Count).End(xlUp))
            dico.Item(r.Value) = Empty
        Next
    End With
    With Sheets("H")
        With .Range("d2", .Range("d" & .Rows.Count).End(xlUp))
            .Interior.ColorIndex = xlNone
        End With
        For Each r In .Range("d2", .Range("d" & Rows.Count).End(xlUp))
            If Not dico.exists(r.Value) Then
                r.Interior.ColorIndex = 43
            End If
        Next
    End With
    Set dico = Nothing
    Application.ScreenUpdating = True
End Sub

klin89

Rechercher des sujets similaires à "comparaison deux plages donnees"