[VBA-Excel]Copier des cellules vers un autre classeur
Bonjour,
Je souhaite copier le contenu d'une feuille dans une autre feuille qui se trouve dans un autre classeur. J'utilise le code suivant:
Code:
1 2 3 4 5 6 7 8 9
| Windows("MonFichier.xls"). Activate
Sheets("Sheet1").Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Windows("MonAutreFichier.xls").Activate
Sheets("Sheet1").Select
Cells.Select
ActiveSheet.Paste |
Cela fonctionne correctement.
Maintenant je dois utiliser cette fonction plusieurs fois donc au lien d'utiliser des noms de fichiers/feuilles en dur j'utilise des variables que je passe a la fonction:
les variables:
Code:
1 2 3 4 5
|
ShtToCopy = "Sheet1"
SourceFile = "c:\files\source.xls"
ThisFile= "c:\other files\dest.xls" |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
Workbooks.Open SourceFile
Windows(SourceFile).Activate
Sheets(ShtToCopy).Select
Cells.Select
Application.CutCopyMode = False
Sheets(ShtToCopy).Select
Selection.Copy
Windows(ThisFile).Activate
Sheets(ShtToCopy).Select
Cells.Select
ActiveSheet.Paste |
Mais ca ne fonctionne pas, il bloque sur l'instruction suivante:
Code:
Windows(SourceFile).Activate
avec
Code:
run-time error 9, subscript out of range
J'ai l'impression que l'objet "Windows" ne supporte pas le nom de variable en tant qu'argument...
Merci pour votre aide