macro word qui divise 1 fichier en plusieurs fichiers

macro word qui divise 1 fichier en plusieurs fichiers - VB/VBA/VBS - Programmation

Marsh Posté le 01-12-2008 à 16:38:59    

Bonjour,
J'ai un fichier word que je veux diviser en plusieurs fichiers word, en le coupant à chaque saut de page.
Je suppose que cela se fait par macro, en sélectionnant du début jusqu'au 1er saut de page, en coupant cette sélection puis créant un nouveau fichier que l'on enregistre avec un nom suivi d'un numéro et on recommence, avec incrémentation du numéro... Mais il reste à écrire la macro et je ne connais pas toutes les subtilités du langage VBA.
 
En fait, mon document est issu d'un publipostage fait dans Word. Au lieu d'obtenir un seul fichier word avec toutes les lettres séparées par un saut de page, j'ai besoin d'obtenir autant de fichiers que de lignes dans la source de données.
Merci d'avance

Reply

Marsh Posté le 01-12-2008 à 16:38:59   

Reply

Marsh Posté le 01-12-2008 à 17:06:59    

Salut, voir http://forum.hardware.fr/hfr/Progr [...] 4620_1.htm et adpter à ton contexte

Reply

Marsh Posté le 01-12-2008 à 18:57:33    

Merci kiki29, j'ai fait une variante qui donne cela.
Il me reste juste à supprimer  le saut de section des fichiers créés (j'avais dit que je voulais découper au saut de page, mais c'est au saut de section que je découpe)
 
Sub SeparationFichierParSection()
 
Dim i As Integer
i = 1
Dim nomFichier As String
Dim cheminFichier As String
 
Application.ScreenUpdating = False
     
NomDocDepart = ActiveDocument.Name
NomDocFin = "fiche_"
DossierDepart = ActiveDocument.Path
DossierSauvegarde = DossierDepart & Application.PathSeparator & "fichesmacro"
 
For Each sec In ActiveDocument.Sections
     
    sec.Range.Select
    Selection.Copy
     
    Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
     
    Selection.PasteAndFormat (wdPasteDefault)
    ' reste à supprimer le saut de section finale et unique
     
    ChangeFileOpenDirectory DossierSauvegarde
    nomFichier = NomDocFin & i
 
    ActiveDocument.SaveAs FileName:=nomFichier, FileFormat:= _
        wdFormatDocument
    ActiveDocument.Close
             
    ChangeFileOpenDirectory DossierDepart
    Documents(NomDocDepart).Activate
    i = i + 1
     
Next sec
End Sub

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed