Bonjour,
Je vous explique mon problème: On m'a confié plusieurs .doc assez de tailles importantes (plus de 50 pages) afin que je les restitue en autant de fichiers .doc qu'il existe de pages dans ces fichiers. En gros avec un fichier .doc de 50 pages, je dois me retrouver avec 50 .doc.
N'y connaissant rien en programmation Vba j'ai donc demandé à mon ami Mr Google de l'aide et je me suis gentiment retrouvé chez vous ou j'ai trouvé ce sujet déja traité dans ce message: http://forum.hardware.fr/hfr/Progr [...] 4620_1.htm
J'ai donc récupéré cette macro:
Option Explicit
Sub DecoupagePageParPage()
Dim NomDocDepart As String
Dim i As Long
Dim Dossier As String, DossierSauvegarde As String
Dim NumDoc As Long, NbPages As Long
NomDocDepart = ActiveDocument.Name
Dossier = ActiveDocument.Path
DossierSauvegarde = Dossier & Application.PathSeparator & "Charcuterie"
VerifDossier (DossierSauvegarde)
Application.ScreenUpdating = False
Application.Browser.Target = wdBrowsePage
NbPages = ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)
ChangeFileOpenDirectory DossierSauvegarde
For i = 1 To NbPages
ActiveDocument.Bookmarks("\page" ).Range.Copy
Documents.Add
Selection.Paste
NumDoc = NumDoc + 1
ActiveDocument.SaveAs FileName:=Left(NomDocDepart, Len(NomDocDepart) - 4) + _
"_" + CStr(NumDoc) + ".doc", FileFormat:=wdFormatDocument
ActiveDocument.Close
Application.Browser.Next
Next i
Application.ScreenUpdating = True
'ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub
Sub VerifDossier(ByVal DossierSauvegarde As String)
On Error GoTo erreur
ChDir DossierSauvegarde
Exit Sub
erreur:
If Err.Number = 76 Then
MkDir (DossierSauvegarde)
Resume Next
End If
End Sub
Le découpage marche très bien dans le sens ou je me retrouve bien avec 50 fichiers, mais mon problème est dans la mise en page de ses fichiers.
Chaque page de chaque fichier crée s'étale désormais sur 3 pages (avec une police différente et des sauts de ligne en plus), là ou dans le fichier de départ ils tenaient tous sur une page.
Ma question est donc : Y'a t-il un moyen de modifier cette macro pour qu'elle me restitue mes fichiers en gardant exactement la même mise en forme?
Cordialement,
Le newbie de la Prog
Merci ;-)