Bonjour à tous,
J'ai une macro pour faire un publipostage word qui m'enregistre les fichiers séparément au format 001-2017, 002-2017 et ainsi de suite.
Dans ma base de donnée excel, j'ai du formater la cellule contenant le n° d'enregistrement (par exemple 001) car si je saisi "001" j'ai juste "1" qui apparaît.
Mon publipostage se passe très bien mais le problème, c'est qu'il m'enregistre le fichier en "1-2017" et non en "001-2017". Je ne sais pas comment lui indiquer le format de ma cellule.
Voici la macro que j'utilise (la cellule en question est la 27) :
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(27).Value
DocName = DocName & "-" & .DataSource.DataFields(26).Value
Debug.Print DocName; i
End With
' Sauvegarde du document publiposté
With ActiveDocument
.SaveAs "S:\ARRETE\2017\" & DocName & ".doc"
.Close
End With
Next i
End Sub
Merci de vos lumières.