Bonjour,
J'ai utilisé cette macro afin de couper un publipostage par enregistrement et l'envoyer en impression.
"Ctrl+C" merci
Elle fonctionne parfaitement avec une base de donnée xls.
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 edi54() ' 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 = wdSendToPrinter ' 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(1).Value DocName = DocName & "-" & .DataSource.DataFields(2).Value Debug.Print DocName; i End With Next i ActiveWindow.Close Application.Quit End Sub ...............
Malheureusement pas avec une base txt. (séparation des enregistrements par ; )
Quelqu'un a une idée du pourquoi ?
Bonne journée.
Julien
Ps: Merci a olivier Lebeau pour son travaille dans la FAQ. Ca aide beaucoup ! J'y ai pris la macro
Partager