Comparaison de 2 listes sur 2 fichiers différents

Bonjour à tous,

Je suis confronté à un problème VBA que je n'arrive pas à résoudre, malgré mes différentes recherches.

J'essaye de monter une macro qui me permettrait de comparer 2 listes de données sur 2 classeurs différents, en allant au préalable chercher l'un des 2 fichiers par une petite procédure de cherche.

Jusque là pas de soucis particulier.

Ce que je cherche à réaliser est je pense tout bête pour des pro du VBA :

La macro devrait comparer les 2 listes, puis ensuite copier les valeurs uniques de la première liste à la suite de la deuxième liste.

Cependant, les différentes macro que j'ai pu trouver ici et là comparent et copie sur un seul et même classeur.

J'essaye de l'adapter à ma situation, mais mes connaissances en codage sont plutôt limitées...

Pourriez vous me débloquer ce petit problème de syntaxe ou d'appel de fichier je pense ?

Merci par avance.

Ci-joint le lien avec les 2 classeurs : https://www.cjoint.com/c/DLEkfo8CjjR

Classeur Export : colonne source en colonne "A"

Classeur Suivi : colonne cible en colonne "I"

Ci-après la macro en question:

Sub MAJ_ADRESSES_OPTIMUM()

Dim lg&, f1 As Worksheet, f2 As Worksheet

    Application.ScreenUpdating = False

        Set f2 = Worksheets("Suivi D2")

    On Error Resume Next
        Set f1 = Workbooks.Open(RechercheFichier)
        If (Err.Number > 0) Then
            MsgBox "Erreur lors de l'ouverture du fichier"
            Exit Sub
        End If

    f1.Activate

    lg = Application.Max( _
        f1.Range("a" & Rows.Count).End(xlUp).Row, _
        f2.Range("a" & Rows.Count).End(xlUp).Row)

    '--- filtre les manquants en feuille "Ordonnancer" ---
    Range("FF10") = "=COUNTIF(Suivi D2!I10:I" & lg & ",A10)=0"     'critère
    Range("A9:A" & lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
    Range("FF9:FF10"), CopyToRange:=Range("FE9:FE"), Unique:=False

    '--- Complète ---
    Range("FE10:FE" & [FE65000].End(xlUp).Row + 1) _
    .Copy Destination:=f2.Range("I" & Rows.Count).End(xlUp)(2)
    Columns("FE:FF").Clear

    f2.Activate

End Sub

Function RechercheFichier() As String

    Dim fd As FileDialog

    Set fd = Application.FileDialog(msoFileDialogFilePicker)

    With fd
        .Filters.Add "fichier xls", "*.xls"
        .Title = "Recherche de fichier"
        'mettre le chemin du repertoire
        .InitialFileName = "U:\DTS\Fixe-PDL-B-N\Orange\FTTH\FTTH VANNES\2-D2\2-SUIVI PROJET\Exports OPTIMUM\"
        'repertoire fichier
        Rep_Fichier = .InitialFileName
    End With

    If fd.Show = -1 Then NomFichier = fd.SelectedItems(1)

    If IsEmpty(fd.SelectedItems(1)) Then
    MsgBox "Vous n'avez sélectionné aucun fichier"
    NomFichier = Null
    Else
    NomFichier = fd.SelectedItems(1)
    End If

    RechercheFichier = NomFichier

End Function

Bonjour et bienvenue sur le forum

Un essai.

Te convient-il ?

tp://cjoint.com/?3LFoEwQ1gwN

Rechercher des sujets similaires à "comparaison listes fichiers differents"