Enregistrement individuel après publipostage [Fermé]
Signaler
joanie1234
joanie1234 -
- Messages postés
- 1
- Date d'inscription
- vendredi 10 novembre 2017
- Statut
- Membre
- Dernière intervention
- 10 novembre 2017
joanie1234 -
A voir également:
- Publipostage enregistrement individuel
- Publipostage word pdf individuel - Meilleures réponses
- Publipostage word fichiers séparés - Meilleures réponses
- Publipostage word, est-il possible d'obtenir des fichiers séparé ✓ - Forum - Word
- Publipostage : mettre dans des fichiers séparés ✓ - Forum - Word
- Plusieurs fichiers Word suite publipostage + Renommer chaque doc - Forum - Word
- Enregistrer un publipostage en pdf en séparant chaque feuille - Forum - Word
- Enregistrement individuel après publipostage - Forum - Word
4 réponses
m@rina
- Messages postés
- 16978
- Date d'inscription
- mardi 12 juin 2007
- Statut
- Contributeur
- Dernière intervention
- 21 février 2021
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 :
et à remplacer dans la boucle :
m@rina
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
joanie1234
Salut,
merci beaucoup! la mise en page est conservée lors de l,enregistrement. Par contre, il ne prend pas en compte mes deux pages. Mon document comporte 4 fichiers de 2 pages chacune et quand je passe à l'enregistrement, j'ai 8 documents. Est-ce que tu sais quelle autre formule je pourrais ajouter?
Voici la formule jusqu'à présent:
Sub BreakOnPage()
Application.Browser.Target = wdBrowseSection
For i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages")
Dim mon_modele As String
mon_modele = ActiveDocument.AttachedTemplate.FullName
ActiveDocument.Bookmarks("\page").Range.Copy
Documents.Add Template:=mon_modele
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\TEST"
DocNum = DocNum + 1
ActiveDocument.SaveAs FileName:="Formulaire jonquille_" & DocNum & ".docx"
ActiveDocument.Close
Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub
Merci!!!
merci beaucoup! la mise en page est conservée lors de l,enregistrement. Par contre, il ne prend pas en compte mes deux pages. Mon document comporte 4 fichiers de 2 pages chacune et quand je passe à l'enregistrement, j'ai 8 documents. Est-ce que tu sais quelle autre formule je pourrais ajouter?
Voici la formule jusqu'à présent:
Sub BreakOnPage()
Application.Browser.Target = wdBrowseSection
For i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages")
Dim mon_modele As String
mon_modele = ActiveDocument.AttachedTemplate.FullName
ActiveDocument.Bookmarks("\page").Range.Copy
Documents.Add Template:=mon_modele
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\TEST"
DocNum = DocNum + 1
ActiveDocument.SaveAs FileName:="Formulaire jonquille_" & DocNum & ".docx"
ActiveDocument.Close
Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub
Merci!!!
m@rina
- Messages postés
- 16978
- Date d'inscription
- mardi 12 juin 2007
- Statut
- Contributeur
- Dernière intervention
- 21 février 2021
Bonsoir,
"Le document comporte 4 fichiers"... je n'ai pas bien saisi.
Tu veux sans doute dire que chaque "formulaire" issu du publipostage est contenu sur deux pages.
Ce qui compte, ce ne sont pas les pages, mais les sections. Chaque document résultat de publipostage est composé de sections, et donc ce peut être des sections d'une page s'il s''agit d'une simple lettre mais ce peut être aussi des sections d'un nombre x de pages. Or ta macro est basé sur les pages et non sur les sections.
J'ai ici deux macros qui font ça. La seconde est le pendant de la tienne, fournie par Microsoft, mais pour les sections :
https://faqword.com/index.php/word/environnement/552-comment-couper-un-gros-fichier-en-autant-de-petits-fichiers-quil-y-a-de-sauts-de-section
m@rina
"Le document comporte 4 fichiers"... je n'ai pas bien saisi.
Tu veux sans doute dire que chaque "formulaire" issu du publipostage est contenu sur deux pages.
Ce qui compte, ce ne sont pas les pages, mais les sections. Chaque document résultat de publipostage est composé de sections, et donc ce peut être des sections d'une page s'il s''agit d'une simple lettre mais ce peut être aussi des sections d'un nombre x de pages. Or ta macro est basé sur les pages et non sur les sections.
J'ai ici deux macros qui font ça. La seconde est le pendant de la tienne, fournie par Microsoft, mais pour les sections :
https://faqword.com/index.php/word/environnement/552-comment-couper-un-gros-fichier-en-autant-de-petits-fichiers-quil-y-a-de-sauts-de-section
m@rina