Bonjour,
Je suis en train de créer un publipostage pour l'entreprise où je travaillle. Grâce aux Tutoriels de ce site j'ai réussi à faire la Macro nécessaire à l'enregistrement séparée de chaque page de mon publipostage avec comme nom une valeur de cellule dans la base de donnée excel liée.
Voici le code qui est exactement le meme mis à disposition sur le tutotriel :
Jusqu'ici aucun probleme ça marche nickel ! Le Hic c'est que dans mon publipostage j'ai plusieurs règles "Remplir" ou "Demander" et à chaque enregistrement de page séperemment il me redemande à chaque fois de completer les boîtes de dialogue malgré avoir cocher "Demander qu'une seule fois" lors de la creation de ses règles. Auriez vous une idée ? Si je ne suis pas assez clair n'hésitez pas à me le dire je vous réexpliquerai ave plaisir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 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 = oDoc.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 "G:\Projects\Stagiaire BGR\Invitation\" & DocName & ".doc" .Close End With Next i End Sub
Merci d'avance.




Répondre avec citation
Partager