Bonjour a tous,
Je bloque sur un problème...
J'ai un fichier Excel comportant 3 onglets (par exemple), je souhaiterais faire par macro :
- autant de fichier Excel qu'il y a d'onglet, c'est a dire ici 3
- chaque fichier excel crée doit comporter un seul onglet, soit un premier avec l'onglet 01, puis un deuxième avec 02, puis un troisième avec 03.
- chaque fichier crée s'appel du nom de l'onglet.
j'ai écrit en VB :
Il manque actuellement dans mon code, la ligne permettant de supprimé, tous les onglet sauf celui que l'on souhaite gardé...., mon problème est que lorque je fais le premier enregistré sous, mon fichier n'aura plus qu'un seul onglet, et je ne pourrais pas récupéré les autres, a part en ré-ouvrant le fichier de base comportant les 3 onglets... Seulement ce fichier est très lourd et si j'ai 20 onglets, la macro va mettre beaucoup de temps a s'éxecuter...
Si joint un exemple.
Merci par avance de vos réponses !!!
Je bloque sur un problème...
J'ai un fichier Excel comportant 3 onglets (par exemple), je souhaiterais faire par macro :
- autant de fichier Excel qu'il y a d'onglet, c'est a dire ici 3
- chaque fichier excel crée doit comporter un seul onglet, soit un premier avec l'onglet 01, puis un deuxième avec 02, puis un troisième avec 03.
- chaque fichier crée s'appel du nom de l'onglet.
j'ai écrit en VB :
Code:
Sub creation_onglet()
Dim sh As Worksheet
'demande ou il veut enregistrer le fichier
Application.DisplayAlerts = False
Do While sPath = ""
Set Fd = Application.FileDialog(msoFileDialogFolderPicker)
With Fd
If .Show = -1 Then
sPath = .SelectedItems.Item(1) & "\"
End If
End With
Loop
For Each sh In Worksheets
'recupère le nom de l'onglet
NomOnglet = sh.Name
NomOnglet = "Lot n°" & Left(NomOnglet, 2)
'enregistrement
ActiveWorkbook.SaveAs Filename:=sPath & NomOnglet, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
Next sh
Application.DisplayAlerts = True
End Sub
Il manque actuellement dans mon code, la ligne permettant de supprimé, tous les onglet sauf celui que l'on souhaite gardé...., mon problème est que lorque je fais le premier enregistré sous, mon fichier n'aura plus qu'un seul onglet, et je ne pourrais pas récupéré les autres, a part en ré-ouvrant le fichier de base comportant les 3 onglets... Seulement ce fichier est très lourd et si j'ai 20 onglets, la macro va mettre beaucoup de temps a s'éxecuter...
Si joint un exemple.
Merci par avance de vos réponses !!!