Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
961 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Découper un fichier word en plusieurs fichiers via une macro

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Découper un fichier word en plusieurs fichiers via une macro

n°1843472
Slone75
Posté le 27-01-2009 à 09:49:04  profilanswer
 

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 ;-)

mood
Publicité
Posté le 27-01-2009 à 09:49:04  profilanswer
 

n°1843475
Ptit loup
Quand c'est flou, y'a un loup
Posté le 27-01-2009 à 10:00:17  profilanswer
 

Je suppose que ton "document.add" se base sur ton normal.dot... et du coup, il prend les paramètres par défaut de ce doc, et non pas les paramétrages du document sur lequel tu es...
Je pense qu'il faudrait que tu arrives en fait à créer un nouveau document en se basant sur les formats sur ton document actuel (ou copie de ton document + suppression de tout ce qu'il contient par exemple - attention à avoir des copies de sauvegarde hein quand même... et de pas copier les macros avec non plus)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Découper un fichier word en plusieurs fichiers via une macro

 

Sujets relatifs
[Fortran 77] Pb ecriture fichier : pseudo-NaN...variable memoire partagée entre plusieurs instances d'une DLL
formulaire multicritere de fichier pdf (par le nom de ces derniers)Union de plusieurs tables de même structure avec somme
Comment transformer un fichier xml en utilisant un xslt ?Une sorte de comparaison d'un fichier excel et une table access.
delete fichier csvLire et modifier des éléments d'un fichier texte
Probleme avec mon fichier batch Macro transformants les hyperliens text en hyperliens cliquables
Plus de sujets relatifs à : Découper un fichier word en plusieurs fichiers via une macro


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR