Bonjour !

Je bloque sur une petite macro... Sur la feuille 2 de mon classeur, j'ai un tableau (à partir de la ligne 9) avec une liste de points de vente en colonne A et le nom des fichiers qui correspondent aux rapports financiers de ces points de vente en colonne B. Le chemin d'accès au dossier qui contient les rapports financiers change tous les mois et est écrit en B5.

Je voudrais écrire une macro qui parcours la colonne B, ouvre les classeurs source 1 par 1, copie colle des données dans mon classeur, ferme le classeur source, passe au classeur source suivant.

Je précise qu'il arrive que je n'ai pas le fichier, la colonne B contient donc des lignes vides et je pense que c'est la source du problème.

Je bloque sur l’ouverte/fermeture des fichiers source : avec cette macro j'arrive à ouvrir les fichiers, mais quand je rajoute la ligne "Workbooks(Filename).Close False" j'obtiens "Erreur d’exécution 9, l'indice n'appartient pas à la sélection".

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
Sub test()
 
Set ws2 = ThisWorkbook.Sheets(2)
 
DerLig = ws2.Range("A1048576").End(xlUp).Row
 
For y = 9 To DerLig
 
PathName = ws2.Range("B5").Value
Filename = ws2.Range("B" & y).Value
 
If ws2.Range("B" & y) <> "" Then Workbooks.Open Filename:=PathName & Filename, UpdateLinks:=False
 
'les actions à appliquer sur les classeurs seront ajoutées ici
 
Workbooks(Filename).Close False
 
Next y
 
End Sub
Nom : ws2.PNG
Affichages : 920
Taille : 21,5 Ko