bonjour,

je voudrais lister les valeurs d'une plage de cellule d'un classeur qui ne sont pas dans une deuxième plage de cellule d'un autre classeur. Mon résultat sera ensuite listé dans un autre fichier.

mais lorsque j'exécute mon code, mon programme semble être dans une boucle infinie.

avez vous une idée?
merci pour votre aide et votre temps

mes différents fichier sont les suivants:
mon classeur de départ: Recap-Calcul-" & NomCarte
feuille: Recap

mon classeur de comparaison:"FIDES-" & NomCarte
feuille: "Recap-Fides"

mon classeur qui liste: Composants_manquants-" & NomCarte
feuille: Composants manquants


voici mon code:

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
Windows("Recap-Calcul-" & NomCarte).Activate
    Set FL1 = Workbooks("Recap-Calcul-" & NomCarte).Worksheet("Recap")
    nb_lignes_totales_i = FL1.UsedRange.Rows.Count
    Set FL2 = Workbooks.Open(RepertoireTravail & "FIDES-" & NomCarte & ".xls").Worksheets("Recap-Fides")
    nb_lignes_totales_j = FL2.UsedRange.Rows.Count
 
    Workbooks.Add (1)
    ActiveWorkbook.SaveAs RepertoireTravail & "Composants_manquants-" & NomCarte & ".xls"
    Set sh = ActiveWorkbook.Worksheets.Add
    sh.Name = "Composants manquants"
    sh.Range("B1") = "Composants manquants dans Recap-Fides"
 
    k = 1
    i = 4
    j = 8
    Do While i <> nb_lignes_totales_i
            Do While j <> nb_lignes_totales_j
                If FL1.Range("A" & i).Value <> FL2.Range("A" & j).Value Then
                j = j + 1
                Else: GoTo line9
                End If
            Loop
            sh.Range("B" & (k + 1)) = FL1.Range("A" & i).Value
line9:
            i = i + 1
 
    Loop