Enregistrement individuel après publipostage

Fermé
joanie1234 Messages postés 1 Date d'inscription vendredi 10 novembre 2017 Statut Membre Dernière intervention 10 novembre 2017 - 10 nov. 2017 à 21:17
 joanie1234 - 15 nov. 2017 à 20:23
J'ai un formulaire de 2 pages auquel j'ai fait un publipostage.

J'aimerais l'enregistrer en Word de façon individuel, mais j'ai vraiment un problème avec le code (et je suis plus ou moins doué dans ce domaine)
1- La mise en page ne suit pas
2- Comment enregistrer le document avec un mot présent dans le doc en question ?


Sub BreakOnPage()
Application.Browser.Target = wdBrowsePage
For i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages")

ActiveDocument.Bookmarks("\page").Range.Copy
Documents.Add
Selection.PasteAndFormat (wdFormatOriginalFormatting)
Selection.PageSetup.Orientation = wdOrientLandscape

Selection.TypeBackspace
ChangeFileOpenDirectory "P:\ÉVÉNEMENTS SIGNATURES\2. Mois de la jonquille\Jonquilles 2018\4. Points de vente\Formulaire\Nouveau dossier\"
DocNum = DocNum + 1
ActiveDocument.SaveAs FileName:="Formulaire jonquille_" & DocNum & ".docx"
ActiveDocument.Close

Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub

Merci tellement! :)
A voir également:

4 réponses

m@rina Messages postés 20009 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 16 avril 2024 11 268
11 nov. 2017 à 17:59
Bonjour,

C'est normal que la mise en forme (et la mise en page) ne suit pas car la macro crée un nouveau document basique, et donc basé sur le Normal.dotm.

Donc, il faut indiquer le modèle que tu veux utiliser.

A la ligne Documents.Add, tu dois préciser le nom du modèle. Et puisque tu pars d'un document déjà fait et donc basé sur un modèle, tu peux récupérer le nom de ce modèle et l'utiliser pour créer chaque nouveau document.

A mettre en début de macro :
Dim mon_modele As String
mon_modele = ActiveDocument.AttachedTemplate.FullName

et à remplacer dans la boucle :
Documents.Add Template:=mon_modele


m@rina
0