Publipostage à partir de données excel, macro ne fonctionne plus
Bonjour,
Depuis l'année derniére j'utilise une macro de heureux_oli, trouvée ici
https://heureuxoli.developpez.com/of.../publipostage/
Je l'ai utilisée pour la dernière fois il y a 10 jours sans aucun problème.
Aujourd'hui j'en avais de nouveau besoin, mais la macro s'arrête à la fonction "execute" et laisse le fichier ouvert et un nouveau fichier "lettre type 1".
Je n'ai pas l'impression d'avoir changé quelque chose.
est ce qu'il y a eu récemment une mise à jour dans office qui empêcherait la macro de fonctionner correctement ?
Voici la macro telle qu'elle est chez moi
Code:
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
| ' Déclaration des variables
Dim iR As Integer
Dim i As Integer
Dim oDoc As Document
Dim DocName As String
Dim DocNum As String
Dim DocOrder As String
Dim DocCountry 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
DocNum = .DataSource.DataFields(15).Value
DocOrder = .DataSource.DataFields(1).Value
DocCountry = .DataSource.DataFields(8).Value
DocName = DocNum & "_" & DocOrder & "_" & DocCountry
Debug.Print DocName; i
End With
' Sauvegarde du document publiposté
With ActiveDocument
.SaveAs "d:\FAMZ2018-" & DocName & ".docx"
.Close
End With
Next i
End Sub |
Voyez vous une erreur évidente ?
Toute aide est appréciée, merci beaucoup pour votre temps.