Comparer 2 listes et compter les valeurs communes

Bonjour,

Je cherche à compter le nombre de valeurs communes parmi 2 listes, tout simplement.

L'idée est de contrôler la présence de toutes les valeurs issue d'une liste 'type', et vérifier que ces valeurs soit bien présente dans une autre liste par exemple.

Un petit fichier pour mieux comprendre

Je vous remercie par avance !

Cdt

Bonjour

Bonjour à tous

Option Explicit

Dim tablo, dico1 As Object, dico2 As Object, k
Dim i&, j&, mess$, s&

Sub Résultats()

    tablo = Range("Tableau1")
    Set dico1 = CreateObject("Scripting.Dictionary")
    Set dico2 = CreateObject("Scripting.Dictionary")

    For i = 1 To UBound(tablo, 1)
        For j = 1 To UBound(tablo, 2)
            If tablo(i, j) <> "" Then
                If j = 1 Then
                    dico1(tablo(i, j)) = ""
                ElseIf j = 2 Then
                    dico2(tablo(i, j)) = ""
                End If
            End If
        Next j
    Next i
    k = dico1.keys

    mess = "": s = 0
    For i = 0 To dico1.Count - 1
        If dico2.exists(k(i)) Then
            mess = mess & k(i) & " "
            s = s + 1
        End If
    Next i

Bye !!

bonjour

une contribution par formules simples

cordialement

66fbidee.xlsx (10.43 Ko)

Bonjour FBidee, Le Forum,

Un exemple avec quelques données et l'utilisation d'un double dictionnaire pour comparaison dont le second voit ses données réduites.

46listecommune.xlsm (23.76 Ko)

Bonjour à tous et un grand merci

J'ai testé toutes vos solutions et elles me convenaient toutes.

J'ai retenu celle de @tulipe_4

Cdt

Rechercher des sujets similaires à "comparer listes compter valeurs communes"