Bonjour ! Malgré toutes mes recherches, je n'ai pas trouvé de solution à mon problème.. J'espère que vous pourrez m'aider

Je vous explique :

J'ai un fichier "x" contenant plusieurs colonnes et des milliers de lignes, et un fichier y similaire mais mis à jour régulièrement, et il doit mettre à jour le fichier x en fonction des nouvelles données.
Pour faire la comparaison des lignes des deux fichiers (elles sont toutes dans le désordre), je dois prendre 3 critères (colonnes A,B,C par exemple pour les comparer).

J'aimerais faire un tableau en VBA avec en colonne "A" les lignes du fichier "x", et en colonne "B", les lignes correspondantes à celles du fichier "x".
Si, dans le fichier "x", il y a une ligne qui n'a pas de correspondance dans le fichier "y", on va mettre un "?" dans la colonne "B" du tableau.

Exemple :

Ligne_Fichier_x -----------------Ligne_Corespondante_Dans_Le_Fichier_Y
1------------------------------------------------22
2------------------------------------------------125
3------------------------------------------------ ?
4------------------------------------------------12345
5------------------------------------------------55555

Mon code pour l'instant.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    'Pour chaque ligne du x, on regarde si il y a une correspondance dans y
    Workbooks("x.xlsm").Activate
 
    'Détermine la dernière ligne de la colonne A pour les deux fichiers
    LigneMaxX = Sheets("Jalons").Range("A65536").End(xlUp).Row
 
    Workbooks("EQM_jalons_-_2_mois_bacASable.xlsx").Activate
    LigneMaxY = Sheets("planEQM_TCR").Range("A65536").End(xlUp).Row
 
 
    '---------DECLARATION DU TABLEAU---------------'
    Dim tab_ij() As String
    Dim i As Integer, j As Integer
 
For i = 1 To LigneMaxX
    valeur = Cells(i, 1)
    valeur1 = Cells(i, 2)
    Valeur2 = Cells(i, 3)
    j = 1
    Do While valeur <> Cells(j, 1) Or valeur <> Cells(j, 2) Or valeur <> Cells(j, 3)
        j = j + 1
 
        If j > LigneMaxY Then
            Exit Do
        End If
    Loop
 
        If j = LigneMaxY + 1 Then NumLigne(i) = "x"
 
 
Next
Ca fait depuis hier que je suis bloqué là dessus

Si vous voulez plus d'explication, demandez.

Merci d'avance