Rechercher / comparer 2x2 colonnes

bonjour,

je cherche à faire la même chose qu'avec un recherchev mais sur 2 colonnes

cad:

dans un tableau j'ai

tab1 (de A1 à B3)

Ref Taille

EC21 12

EF34 14

et l'autre:

Tab2(de D1 à F3)

Ref Taille Code

EC21 12 x1

EF34 14 x2

j'aimerai comparer la colonne A et B à D et E, et dès qu'il trouve un ensemble identique recopier la valeur de F à côté

le résultat que je cherche à obtenir est celui là

Tab1

EC21 12 x1

pourriez vous m'aider?

Bonsoir et bienvenue,

Pour t'aider efficacement, il nous faudrait un fichier

ajoute-y des annotations de ce que tu souhaite,

raccourci le fichier si trop lourd

Amicalement

Claude

voilà

en gros

si je trouve les valeurs de la cellule A2 et B2 dans le tableau / matrice I2:J19

j'affiche dans la colonne H la valeur de K (GITN)

j'ai cru trouver la solution dans H2 , ça m'a lair bon non?

mais par contre j'ai plsu de 50 000 lignes à traiter

est ce que je me suis bien exprimé?

35exemple1.zip (4.74 Ko)

Bonsoir.

Ton fichier en retour.

Sélectionnes toutes tes cellules en même temps, puis rentre ta formule matricielle:

=SIERREUR(INDEX(K2:K19;EQUIV(A2:A19&B2:B19;I2:I19&J2:J19);0);"Pas de valeur trouvée")

La formule SIERREUR te permet de renvoyer ce que tu veux en texte ou valeur afin de ne pas avoir les "#N/A

Tu avais oublié de mettre le ";0" après ta première fermeture de parenthèse pour signaler que tu cherchais la valeur exacte.

Cordialement

-- 30 Sep 2010, 06:19 --

Désolé, j'ai encore écrit n'importe quoi

La formule à mettre une fois toutes tes plages sélectionnées:

=SIERREUR(INDEX(K2:K19;EQUIV(A2:A19&B2:B19;I2:I19&J2:J19;0));"Pas de valeur trouvée")

Bonjour à tous,

Tu nous diras le temps de traitement pour les 50000 lignes

Sub Compare()
Dim Lg&, i&, x
'Macro par Claude Dubois pour "gets" Excel-Pratique le 30/09/10
    x = Timer
    Application.ScreenUpdating = False
    Lg = Range("a65536").End(xlUp).Row
    Columns("i").Insert
    Range("i2:i" & Lg) = "=j2&k2"
    Range("o1") = "=match(n1,i2:i" & Lg & ",0)+1"
        For i = 2 To Lg
            Cells(1, "n") = Cells(i, "a") & Cells(i, "b")
            If Not IsError(Cells(1, 15)) Then
                Cells(i, "h") = Cells(Range("o1"), "L")
            End If
        Next i
    Range("n1:o1").ClearContents
    Columns("i").Delete
    MsgBox ("temps macro = " & Format(Timer - x, "hh:mm:ss"))
End Sub

Amicalement

Claude

32gets-compare.zip (14.33 Ko)
Rechercher des sujets similaires à "rechercher comparer 2x2 colonnes"