Recherche lignes communes entre plusieurs colones

Bonjour,

J'ai deux tableaux différents ou figurent des lignes communes.

A partir du premier tableau je souhaiterai faire une recherche pour qu'Excell me garde que les lignes communes au deux tableaux.

Est-ce possible?

Je vous remercie du temps que vous passerez à mer répondre.

Bone journée,

Bonjour

Un fichier ?

Combien de colonne pour le tableau 1 ? pour le tableau ?

Ou se trouve le tableau 1 ? ou se trouve le tableau ?

S'agit-il de tableaux structurés ?

Si tu utilises des tableaux structurés voilà un code qui compare et supprime les lignes qui ne sont pas communes à deux tableaux.

Sub ComparLignes()

Dim LaFeuille As Worksheet
Dim Tbl1Max As Integer, Tbl2Max As Integer
Dim Tbl1NbCol As Integer, Tbl2NbCol As Integer
Dim NomTbl1 As String, NomTbl2 As String
Dim ComparOk As Boolean

Set LaFeuille = ThisWorkbook.Worksheets("La") 'A dapater
NomTbl1 = "Tableau1" 'A dapater
NomTbl2 = "Tableau2" 'A dapater

Tbl1NbCol = LaFeuille.Range(NomTbl1).Columns.Count
Tbl2NbCol = LaFeuille.Range(NomTbl2).Columns.Count
Tbl1Max = LaFeuille.Range(NomTbl1).Rows.Count
Tbl2Max = LaFeuille.Range(NomTbl2).Rows.Count

If Tbl1NbCol <> Tbl2NbCol Or Tbl1Max <> Tbl2Max Then MsgBox "Les deux tableaux n'ont pas les mêmes dimensions.", vbCritical, "Erreur tbl": Exit Sub

For i = Tbl1Max To 1 Step -1
    ComparOk = False
    For j = 1 To Tbl1NbCol
        temp1 = temp1 & LaFeuille.ListObjects(NomTbl1).Range(i + 1, j)
    Next j
    For x = Tbl2Max To 1 Step -1
        For y = 1 To Tbl2NbCol
            temp2 = temp2 & LaFeuille.ListObjects(NomTbl2).Range(x + 1, y)
        Next y
        If temp1 = temp2 Then ComparOk = True
        temp2 = ""
    Next x
    If ComparOk = False Then LaFeuille.ListObjects(NomTbl1).DataBodyRange.Rows(i).Delete
    temp1 = ""
Next i

End Sub

Bonjour

Un fichier ?

Combien de colonne pour le tableau 1 ? pour le tableau ?

Ou se trouve le tableau 1 ? ou se trouve le tableau ?

S'agit-il de tableaux structurés ?

Le tableau 1 comprend 20 colones

le tableau 2 également

Le tableau 1 comprend plus de 3000 lignes

Le tableau 2 comprend 500 lignes ces lignes sont également dans le tableau 1

Il s'agit donc dans le tableau 1 d'avoir un filtre qui me ferait apparaitre que les données communes aux tableaux 1 et 2

Les deux tableaux se trouvent dans des fichiers séparés.

Il s'agit de tableaux structurés ( En tout cas de ce que je crois en comprendre: Titre, gras, filtre)

Je vous remercie de la réponse et de votre aide.

Essaye ce code (a adapter les nom de classeur Excel et des nom de feuilles)

Sub ComparLignes()

Dim LaFeuille As Worksheet, AutreFeuille As Worksheet
Dim Tbl1Max As Integer, Tbl2Max As Integer
Dim Tbl1NbCol As Integer, Tbl2NbCol As Integer
Dim Lig As Integer
Dim NomTbl1 As String, NomTbl2 As String
Dim ComparOk As Boolean

Set LaFeuille = ThisWorkbook.Worksheets("La") 'A adapter
NomTbl1 = "Tableau1" 'A adapter
Tbl1NbCol = LaFeuille.Range(NomTbl1).Columns.Count
Tbl1Max = LaFeuille.Range(NomTbl1).Rows.Count

Set AutreFeuille = Workbooks("Nom du deuxièmefichier").Worksheets("Ici") ' A adapter
NomTbl2 = "Tableau2" 'A adapter
Tbl2NbCol = AutreFeuille.Range(NomTbl2).Columns.Count
Tbl2Max = AutreFeuille.Range(NomTbl2).Rows.Count

If Tbl1NbCol <> Tbl2NbCol Or Tbl1Max <> Tbl2Max Then MsgBox "Les deux tableaux n'ont pas les mêmes dimensions.", vbCritical, "Erreur tbl": Exit Sub

For i = Tbl1Max To 1 Step -1
    ComparOk = False
    For j = 1 To Tbl1NbCol
        temp1 = temp1 & LaFeuille.ListObjects(NomTbl1).Range(i + 1, j)
    Next j
    For x = Tbl2Max To 1 Step -1
        For y = 1 To Tbl2NbCol
            temp2 = temp2 & AutreFeuille.ListObjects(NomTbl2).Range(x + 1, y)
        Next y
        If temp1 = temp2 Then ComparOk = True
        temp2 = ""
    Next x

    Lig = LaFeuille.Range(NomTbl1).Rows(i).Row
    If ComparOk = False Then LaFeuille.Range("A" & Lig).EntireRow.Hidden = True Else LaFeuille.Range("A" & Lig).EntireRow.Hidden = True
    temp1 = ""
Next i

End Sub

Merci pour votre aide.

J'essaie et vous dirait ce qu'il en est !

Merci encore.

Rechercher des sujets similaires à "recherche lignes communes entre colones"