Enregistrer document publipostage dans des fichiers séparés Word

nakadon

XLDnaute Occasionnel
Je cherche à enregistrer les documents issus du publipostage dans des fichiers séparés Word. Le nom de sauvegarde de chaque fichier Word sera la concaténation de 3 valeurs de champ de mon tableau Excel (nom et prénom dpt par exemple). Ci-joint Fichier exemple pour la fusion et la base de données.

J'ai trouvé sur le net les macros ci-dessous qui semble-t-il marchent mais que je comprends pas et je ne sais pas ou les mettre.
Je me permets de les mettre ici au cas ou cela peut faire avancer ma demande.

------------------------------------------------
Sub BreakOnPage()
' Used to set criteria for moving through the document by page.
Application.Browser.Target = wdBrowsePage

For i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages")

'Select and copy the text to the clipboard
ActiveDocument.Bookmarks("\page").Range.Copy

' Open new document to paste the content of the clipboard into.
Documents.Add
Selection.Paste

' Removes the break that is copied at the end of the page, if any.
Selection.TypeBackspace
ChangeFileOpenDirectory "C:\"
DocNum = DocNum + 1
ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc"
ActiveDocument.Close

' Move the selection to the next page in the document
Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub


----------------------------------------------------------------


Sub TestPublipost()
' Déclaration des variables
Dim iR As Integer
Dim i As Integer
Dim oDoc As Document
Dim DocName As String
Dim oDS As MailMergeDataSource

' Affectation des objets
Set oDoc = ActiveDocument
Set oDS = oDoc.MailMerge.DataSource

iR = MailMerge.DataSource.RecordCount
Debug.Print iR
For i = 1 To iR
With oDoc.MailMerge
'Définition du premier et dernier enregistrement
.DataSource.FirstRecord = i

.DataSource.LastRecord = i
' Envoi des données dans un nouveau document
.Destination = wdSendToNewDocument
' Exécution du publipostage
.Execute
' Actualisation de l'enregistrement pour la sauvegarde
.DataSource.ActiveRecord = i
'Utilisation de deux champs pour obtenir le nom du document
DocName = .DataSource.DataFields(2).Value
DocName = DocName & "-" & .DataSource.DataFields(3).Value
Debug.Print DocName; i
End With
' Sauvegarde du document publiposté
With ActiveDocument
.SaveAs "c:\temp\" & DocName & ".doc"
.Close
End With
Next i
End Sub

----------------------------------------------------------------------

Merci d'avance pour votre aide.
 

Pièces jointes

  • Données.zip
    10.1 KB · Affichages: 137
  • Données.zip
    10.1 KB · Affichages: 157
  • Données.zip
    10.1 KB · Affichages: 154
Dernière édition:

GeoTrouvePas

XLDnaute Impliqué
Re : Enregistrer document publipostage dans des fichiers séparés Word

Bonjour,

C'est pourtant bien expliqué dans ta macro. Tu as juste à modifier et adapter ces lignes là en donnant la valeur que tu souhaites à DocName :

Code:
'Utilisation de deux champs pour obtenir le nom du document
DocName = .DataSource.DataFields(2).Value
DocName = DocName & "-" & .DataSource.DataFields(3).Value
Debug.Print DocName; i
End With
' Sauvegarde du document publiposté
With ActiveDocument
.SaveAs "c:\temp\" & DocName & ".doc"
.Close
End With
 

nakadon

XLDnaute Occasionnel
Re : Enregistrer document publipostage dans des fichiers séparés Word

Justement, je n'y arrive pas. Quelque chose m’échappe certainement.
Est-ce que tu as testé cette macro si elle marche. Et surtout, j'aimerais savoir, cette macro je dois la mettre dans la feuille Excel et comment ? Si quelqu'un peut le tester avec les fichiers que j'ai mis en pièce jointe et me faire une copie ça sera sympa.
Merci d'avance.
 

nakadon

XLDnaute Occasionnel
Re : Enregistrer document publipostage dans des fichiers séparés Word

Si quelqu'un peut m'aider et adapter les fichiers modèles (ci-dessus) comme indiqué dans mon message svp. j'ai tellement chercher que j'espère ici pouvoir avoir l'aide.
Je compte sur vous.
@+;)
 
Dernière édition:

nakadon

XLDnaute Occasionnel
Re : Enregistrer document publipostage dans des fichiers séparés Word

Bonjour,
N'ayant pas de réponse, certainement par manque de temps des uns et des autres. Alors je voudrai simplement poser une question pour avancer dans ce projet. Pas sûr que j'y arrive!! Quelqu'un sait où je dois placer la macro, sur la feuille Word ou sur Excel.
Merci de votre aide.
 

Discussions similaires

Réponses
6
Affichages
296

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 011
dernier inscrit
rine