Bonjour à tous,
J'ai un fichier excel avec une feuille. Chaque ligne de la feuille contient un nom dans la colonne A et une ville dans la colonne B.
Il faut que je crée autant de fichiers excel que de ligne dans la feuille (je simplifie mon problème).
Chaque fichier contiendra la ligne qui correspond.
Pour cela, je fais :
Le SaveAs me permet de faire une copie du fichier courant. Ensuite, je veux ouvrir la copie pour faire un traitement dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 For i = 2 To NbLigne + 1 Dim valeur As String valeur = tableRole.Range("A" & i).Value ActiveWorkbook.SaveAs Filename:= _ ActiveWorkbook.Path & "\" & valeur & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Dim objWorkbookCible As Workbook objWorkbookCible = Application.Workbooks.Open(ActiveWorkbook.Path & "\" & valeur & ".xls") Next
Mais lorsque le Application.Workbooks.Open s'exécute, le fichier s'ouvre à l'écran et le fichier courant n'existe plus.
En fait, le fichier sur lequel s'exécute la macro n'existe plus (il se ferme tout seul) et est remplacé par le fichier que j'ouvre dans le code.
Le script VBA ne continue plus de s'exécuter...
Qu'ai-je fait de mal ?
Merci d'avance.
Partager