Salut à tous!

J'ai un petit soucis dans la construction d'une macro VBA, je vous explique mon problème.
Je voudrais constituer une BDD avec des infos présentes sur des factures.

Ces factures sont présentes dans un fichier XL les unes à la suite des autres dans chaque onglet.
Je voudrais donc créer une macro qui me copie les infos onglet après onglet, donc une boucle.

Au début de chaque boucle, je souhaiterais vérifier que la facture en cours de traitement par cette même boucle n'existe pas dans la BDD pour éviter les doublons.
Pour ça j'ai une référence pour chaque facture et je fais un petit check dans la première colonne de la BDD pour voir si elle y est.

Le but étant donc de dire à la macro:

Pour chaque classeur
Vérifier que la référence de la facture de l'onglet en cours n'est pas déjà dans la première colonne de la BDD.
SI elle y est ALORS on passe au classeur suivant
SINON on effectue le code ci dessous
(bla bla bla là y'a mon code de copie)

Donc voilà ce que j'ai codé :


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
Dim Ws As Worksheet
Dim oCell As Range
 
 
For Each Ws In ThisWorkbook.Worksheets
 
    For Each oCell In Workbooks("BDD.xlsx").Sheets("BDD").Range("A2:A1000000")
        If oCell.Value = ReferenceFacture.Value Then
        Exit For
        Next Ws
        Else
 
(... MON CODE DE COPIE DES CELLULES ...)
 
End If
Next Ws
Seulement il me mets l'erreur "Next sans for" en désignant le premier Next Ws...

Je suis bloqué, je pense que mes Next et If ne sont pas dans le bon sens mais je n'arrive pas à me dépatouiller.
Si l'un d'entre vous à sa petite idée je suis preneur!

Merci beaucoup à vous tous!

jsplfasc2