Comparaison entre deux table est incrémentation

salut les amis

comme je métrise pas le VBA je vient demandé votre aide svp
voila j'ai deux table Excel feuil1 et feuil2 les deux table sont identiques.
la première table contient 03 colonnes MATRICULE - MONTANT - OBS.
la deuxième table contient 02 colonne MATRICULE - MONTANT.
sauf que le MATRICULE de la deuxième table est consolider mais pas dans la première table
le bute c'est de faire une comparaison entre les deux table par MATRICULE et si on trouve que le MONTANT de la deuxième table est diffèrent de 0 alors ont incrément le contenu de la colonne OBS de la première table de +1 pour chaque ligne identique au MATRICULE de la deuxième table

j'espère que j'ai étai claire ...
9comparaison.xlsx (13.32 Ko)

merci pour votre aide

Bonsoir !

Une réponse à votre besoin (multi post....) a été publiée sur un autre forum.

merci pour ton aide mais le problème n'est toujours pas résolu et je suis bloqué

Bonjour

Bonjour à tous

Un essai à tester. Te convient-il ?

Option Explicit

Dim tablo1, tablo2, tabloR(), dico2 As Object
Dim i1&, i2&, j&

Sub Comparaison()

    tablo1 = Sheets("Feuil1").Range("Tableau1")
    tablo2 = Sheets("Feuil2").Range("A1").CurrentRegion
    Set dico2 = CreateObject("Scripting.Dictionary")

    For i2 = 2 To UBound(tablo2, 1)
        dico2(tablo2(i2, 1)) = 0
    Next i2

    For i2 = 2 To UBound(tablo2, 1)
        If tablo2(i2, 1) <> 0 Then
            For i1 = 1 To UBound(tablo1, 1)
                If tablo1(i1, 1) = tablo2(i2, 1) Then
                    tablo1(i1, 3) = dico2(tablo2(i2, 1)) + 1
                    dico2(tablo2(i2, 1)) = dico2(tablo2(i2, 1)) + 1
                End If
            Next i1
        End If
    Next i2
    Range("A3").Resize(UBound(tablo1, 1), 3) = tablo1
End Sub

Bye !

Bonjour,

Autre solution sans VBA,

formule en C3:

=SI(ET(EQUIV(Tableau1[[#Cette ligne];[MATRICULE]];feuil2!$A:$A;0)>0;NB.SI(Feuil1!$A$1:$A3;Tableau1[[#Cette ligne];[MATRICULE]])=1);1;
SI(ET(EQUIV(Tableau1[[#Cette ligne];[MATRICULE]];feuil2!$A:$A;0)>0;NB.SI(Feuil1!$A$1:$A3;Tableau1[[#Cette ligne];[MATRICULE]])>1);C2+1))

Cdlt

Bonjour,
Une autre formule.
Cdlt.

=SI(ESTNA(EQUIV([@MATRICULE];tbl.2[MATRICULE];0));"";NB.SI(INDEX([MATRICULE];1):[@MATRICULE];[@MATRICULE]))
12iloveubb.xlsx (16.44 Ko)
Rechercher des sujets similaires à "comparaison entre deux table incrementation"