Chalafraiz
XLDnaute Nouveau
Bonjour à tous,
Je rencontre actuellement un problème dans le déroulement d'une macro. J'ai deux tableurs Excel de format identique, avec les mêmes macros, mais des données différentes.
La macro qui me pose problème fonctionne très bien dans mon premier fichier, mais pas dans le deuxième, d'où le fait que je ne comprends pas tellement le soucis...
Je précise que ce ne sont pas des macros que j'ai écrit, que je sais qu'elles ne sont pas bien codées mais qu'on m'a demandé de régler le problème rapidement, et cela me demanderait trop de temps de les retaper entièrement... (mais je compte le faire après)
Bref, à la ligne en gras, j'ai l'erreur 9 : l'indice n'appartient pas à la sélection.
Code qui fonctionne
Code qui ne fonctionne pas
L'erreur se pose souvent mais PARFOIS elle n’apparaît pas. J'ai essayé de rajouter
Pour info, le .bat créé un fichier .txt qui écrit sur chaque ligne le nom de fichiers Excel, puis on ouvre ce .txt dans Excel qui met ces noms dans la première colonne. La première cellule de la colonne n'est pas vide.
Merci d'avance pour votre aide, et désolée de ne pouvoir fournir de document.
Cha
Je rencontre actuellement un problème dans le déroulement d'une macro. J'ai deux tableurs Excel de format identique, avec les mêmes macros, mais des données différentes.
La macro qui me pose problème fonctionne très bien dans mon premier fichier, mais pas dans le deuxième, d'où le fait que je ne comprends pas tellement le soucis...
Je précise que ce ne sont pas des macros que j'ai écrit, que je sais qu'elles ne sont pas bien codées mais qu'on m'a demandé de régler le problème rapidement, et cela me demanderait trop de temps de les retaper entièrement... (mais je compte le faire après)
Bref, à la ligne en gras, j'ai l'erreur 9 : l'indice n'appartient pas à la sélection.
Code qui fonctionne
Public Const Repname = "2014-2019 Budget 1.xlsm"
---------------------------
Sub Process_Finance()
' Local site declarations
' Location of the BAT file that lists all of the data files
BatFile = "j:\...\listfile.bat"
' Data directory holding all of the input files
DataDir = "j:\...\data_files"
' Text file containing list of files location and it's name
TextFile = "j:\...\datafile.txt"
' run the listfil.bat
aa = Shell("j:\...\listfile.bat", 1)
(code pour attendre quelques secondes que le .bat s'exécute)
Dim fil(100)
' setup a loop for all of the files found in the declared data folders
For teams = 1 To 1
Select Case teams
Case 1 ' all other cases removed
opendir = DataDir
TeamName = "DATA"
listfil = TextFile
listfilc = "datafile.txt"
Workbooks.OpenText Filename:=listfil
rowww = 1
While Cells(rowww, 1).Value <> ""
fil(rowww) = Cells(rowww, 1).ValueWend
rowww = rowww + 1
rowww = rowww - 1
Workbooks(listfilc).Close savechanges:=False
End Select
[...]
Code qui ne fonctionne pas
Public Const Repname = "2014-2019 Budget 2.xlsm"
---------------------------
Sub Process_Finance()
' Local site declarations
' Location of the BAT file that lists all of the data files
BatFile = "j:\...\listfile.bat"
' Data directory holding all of the input files
DataDir = "j:\...\data_files"
' Text file containing list of files location and it's name
TextFile = "j:\...\datafile.txt"
' run the listfil.bat
aa = Shell("j:\...\listfile.bat", 1)
(code pour attendre quelques secondes que le .bat s'exécute)
Dim fil(100)
' setup a loop for all of the files found in the declared data folders
For teams = 1 To 1
Select Case teams
Case 1 ' all other cases removed
opendir = DataDir
TeamName = "DATA"
listfil = TextFile
listfilc = "datafile.txt"
Workbooks.OpenText Filename:=listfil
rowww = 1
While Cells(rowww, 1).Value <> ""
fil(rowww) = Cells(rowww, 1).ValueWend
rowww = rowww + 1
rowww = rowww - 1
Workbooks(listfilc).Close savechanges:=False
End Select
[...]
L'erreur se pose souvent mais PARFOIS elle n’apparaît pas. J'ai essayé de rajouter
sans succès. J'ai cru comprendre en lisant quelques fils que cela pouvait venir du tableau, mais dans ce cas pourquoi cela fonctionne très bien dans le premier et pas dans l'autre ?With Workbooks("datafile").Sheets("datafile")
Pour info, le .bat créé un fichier .txt qui écrit sur chaque ligne le nom de fichiers Excel, puis on ouvre ce .txt dans Excel qui met ces noms dans la première colonne. La première cellule de la colonne n'est pas vide.
Merci d'avance pour votre aide, et désolée de ne pouvoir fournir de document.
Cha