Bonjour À tous,
Un nouveau défis pour vous.
J'ai trouvé ce code que j'utilise qui me permet de créer un nouveau fichier pour chaque feuille de mon fichier source.
Tout se passe bien sauf que:
- Lors de cette copie, après ouverture des fichiers créés, je vois que la mise en page incluant les sauts de page a été perdue
- J'ai aussi une erreur si je veux forcer le format de sortie en .xlsm au lieu de .xls mais ça, ça serait la cerise sur le gâteau.
Si l'un d'entre vous à une idée pour me permettre de garder mes sauts de page, ça serait génial.
Merci
Option Explicit
Sub SaveShtsAsBook()
Dim Sheet As Worksheet, SheetName$, MyFilePath$, N&
MyFilePath$ = ActiveWorkbook.Path & "\" & _
Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4)
With Application
.ScreenUpdating = False
.DisplayAlerts = False
' End With
On Error Resume Next '<< a folder exists
MkDir MyFilePath '<< create a folder
For N = 1 To Sheets.Count
Sheets(N).Activate
SheetName = ActiveSheet.Name
Cells.Copy
Workbooks.Add (xlWBATWorksheet)
With ActiveWorkbook
With .ActiveSheet
.Paste
.Name = SheetName
[A1].Select
End With
'save book in this folder
.SaveAs Filename:=MyFilePath _
& "\" & SheetName & ".xls"
.Close SaveChanges:=True
End With
.CutCopyMode = False
Next
End With
Feuil2.Activate
End Sub