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 :

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
Le SaveAs me permet de faire une copie du fichier courant. Ensuite, je veux ouvrir la copie pour faire un traitement dessus.

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.