bonsoir
pour enregistrer des fichiers suite a publipostage j'utilise la macro d'Heureux oli dans le tuto "fusion et publi par l'interface et vba"
ci dessous :
dans cette macro, le nouveau fichier .doc enregistré ne conserve pas le lien avec la base de donnée de publipostage
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 Sub Publiposttotrap() ' Déclaration des variables Dim iR As Integer Dim i As Integer Dim oDoc As Document: Dim numcaisses As Variant: Dim nomcaisse As Variant Dim DocName As String Dim oDS As MailMergeDataSource ' Affectation des objets Set oDoc = ActiveDocument Set oDS = oDoc.MailMerge.DataSource Dim Rep As Integer ' boite d'alerte vous allez ecraser tous les fichiers Rep = MsgBox("Voulez-vous continuez ? vous allez écraser les précédents documents", vbYesNo + vbQuestion, "mDF XLpages.com") If Rep = vbYes Then 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 d'un champs pour obtenir le nom du document, 2 champs pour le chemin DocName = .DataSource.DataFields(1).Value numcaisse = .DataSource.DataFields(1).Value nomcaisse = .DataSource.DataFields(2).Value dossier = "D:\cbi 2019\" & numcaisse & " " & nomcaisse & "\00 Rapports" Debug.Print DocName; i End With ' Sauvegarde du document publiposté ChangeFileOpenDirectory "D:\cbi 2019\" & numcaisse & " " & nomcaisse & "\00 Rapports\" With ActiveDocument .SaveAs FileName:= _ numcaisse & " Certification des Comptes 2018.doc", FileFormat:= _ wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _ True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _ False, SaveNativePictureFormat:=False, SaveFormsData:=False, _ SaveAsAOCELetter:=False .Close End With Next i Else End End If End Sub
de plus les macros du fichier d'origine logées dans des modules ne sont plus visibles/utilisables dans les fichiers copiés
auriez vous une solution pour pouvoir enregistrer les macros ( ou changer l'extension du .doc) et aussi garder le lien avec la base de données servant au publipostage ?
en vous remerciant
Xs
Partager