Bonjour à tous,
Je suis débutant en VBA sur excel.
Voici mon problème :
Je cherche à récupérer des données de plusieurs fichiers excel en les copiant toutes dans un 2éme fichier. Pour cela, je demande d'ouvrir un fichier après l'autre et de copier/coller une plage de cellule. Ces fichiers qui sont ouverts ont une partie variable allant de 1 à 99. Seulement, ils n'existent pas tous, c'est-à-dire que le 1er fichier s'appelle "1_nom de fichier" et le 2éme fichier existant s'appelle "5_nom de fichier", le 3éme "25_nom de fichier".
Je n'arrive pas à gérer l'erreur comme quoi mon fichier est introuvable. Je veux qu'il passe au numéro suivant quand un fichier n'existe pas.
J'ai donc écrit le code suivant, mais la gestion d'erreur ne fonctionne qu'une seule fois.
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 Dim strFichier As String Dim i As Variant On Error GoTo Erreur For i = 1 To 99 Selection.AutoFilter Field:=1, Criteria1:="i" Selection.AutoFilter Field:=4, Criteria1:="04" Const strRepertoire = "répertoire" strFichier = "nom du fichier" Workbooks.Open Filename:=strRepertoire & i & strFichier Sheets("BD").Select Range("M5:M111").Select Selection.Copy Windows("nom du 2éme fichier").Activate Sheets("BD").Select Range("N04" & i & "_" & "").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows(i & strFichier).Activate Application.CutCopyMode = False ActiveWorkbook.Close False Erreur: Next i End Sub
Partager