Bonjour j'ai une erreur dans une boucle, je pense que je demande un calcul trop compliqué mais je ne suis pas sur et je n'arrive pas à le simplifier...

Je vous explique la tâche que j'ai à réaliser :

- j'ai 2 fichier avec une clé et des chiffres par semaine
- j'ai collé les 2 fichiers bout à bout en les séparant par une ligne vide
- je cherche dans un premier temps à connaitre les différences entre les 2 listes de clés qui sont sensées être identiques

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
32
33
 
Sub test2()
Dim cle1 As Variant
Dim cle2 As Variant
Dim i As Long 'lignes premier tableau
Dim j As Long 'lignes deuxieme tableau
Dim k As Long 'colonnes
Dim l As Long 'lignes liste réponse
Dim ok As String 
 
 
i = 2
j = 2486
k = 7
l = 4951
 
While Cells(i, 1).Value <> ""
    rep = Cells(i, 1).Value
        While ok <> "ok" Or Cells(j, 1).Value = ""
            If Cells(j, 1).Value = rep Then
             ok = "ok"
            Else: j = j + 1
            End If
        Wend
    If ok <> ok Then
        Cells(l, 1) = rep
        l = l + 1
    End If
ok = ""
i = i + 1
Wend
 
End Sub
Voici mon code que j'ai fait pour trouver les différences et me les lister, ce code ne marche pas...

J'ai aussi essayé de tout faire d'un coup mais même résultat
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
32
33
34
35
36
Sub test()
Dim cle1 As Variant
Dim cle2 As Variant
Dim i As Long 'lignes premier tableau
Dim j As Long 'lignes deuxieme tableau
Dim k As Long 'colonnes
Dim l As Long 'lignes liste réponse
 
 
i = 2
j = 2486
k = 7
l = 4951
 
Do
    cle1 = Cells(i, 1).Value
    Do
        cle2 = Cells(j, 1).Value
            If cle1 = cle2 Then
                Do
                    rep1 = Cells(i, k).Value
                    rep2 = Cells(i, k).Value
                        If rep1 <> rep2 Then
                            Cells(l, 1).Value = cle1
                            Cells(l, 2).Value = cle2
                            l = l + 1
                        End If
                Loop Until k = 149
            End If
        j = j + 1
      Loop Until j = 4950
 i = i + 1
Loop Until i = 2484
 
 
End Sub
Du coup je pense que la méthode à suivre serait de chercher dans un premier temps la liste des lignes qui ne correspondent pas et ensuite un deuxième code pour voir quelles sont les colonnes qui ne fonctionnent pas.

Si vous avez une idée ou des suggestions pour une autre méthode...

Merci d'avance