Bonjour à tous !
Je sais que cette erreur à déjà été traitée de nombreuses fois, mais je n'ai malheureusement pas pû trouver réponse à ma situation malgrès les nombreuses solutions proposées. Je me retourne donc vers vous.
Je dois extraire des infos de plus de 5000 fichiers excel (infos de form controls, activeX, ext ...). Pour cela, je possède un fichier contenant toutes les infos nécessaires à cette extraction de données :
- Une première colonne contenant le nom de mon fichier
- Une seconde contenant le chemin de mon fichier
- Les prochaines colonnes serviront à stocker les données nécessaires
Je possède le bout de code suivant (je veux tout d'abord boucler sur les 900 premiers fichiers) :
Pour les fichiers ne possédant pas la feuille "MachineDatas", je veux l'ignorer et passer au fichier suivant.
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 Dim YSheet As Integer Sub GetDataFromFile() Dim sh As Worksheet Dim File As String Set sh = ActiveSheet YSheet = 2 While YSheet <> 900 File = Workbooks("Mydatas.xlsm").Worksheets("Feuil1").Cells(YSheet, 2).Value Workbooks.Open Filename:=File If IsWorksheet("MachineDatas") = True Then Worksheets("MachineDatas").Activate Else GoTo NextIteration End If CheckBoxAndOptions TextBox Other NextIteration: Application.DisplayAlerts = False If ActiveWorkbook.Name = Workbooks("Mydatas.xlsm").Worksheets("Feuil1").Cells(YSheet, 1).Value Then ActiveWorkbook.Close Application.DisplayAlerts = True YSheet = YSheet + 1 Wend End Sub
Le code ci-dessus marche très bien dans 90% des cas, je ne viens pas forcément vers vous pour trouver une solution toute faite, mais pour comprendre quelle est l'origine de mon problème. Dans les 10% restant, l'erreur suivante apparait pour la ligne de mon code en rouge :
Cependant, mon fichier s'ouvre quand même et c'est la que je ne comprends pas quel est le réel problème. Etant donné que le fichier s'était bien ouvert, j'ai essayé d'esquiver l'erreur avec un On Error Resume Next mais je ne dois pas assez bien maîtriser ceci pour l'utiliser, de plus, ça m'embête de laisser passer ceci sans même l'avoir compris.Run-time error '9':
Subscript out of range
Le chemin de mon fichier est exact, l'extension de mes fichiers aussi, tout se passé sans encombre quand je copy past le path de mon fichier.
Je vous remercie par avance du temps accordé à mon problème, et je vous souhaite une agreeable journée,
Cordialement,
François
Partager