Récupérer valeur et format d'une cellule en VBA

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.

Bonjour,

Essaie ainsi :

DocName = Format(.DataSource.DataFields(27).Value, "000")

Bonjour Jean-Eric,

C'est exactement ça. Merci c'est nickel !

Sans vouloir abuser, je souhaiterai qu'il m'imprime ces docs dans la foulée. Quel code dois-je ajouter à ma macro ?

Merci d'avance.

Bonjour,

A tester :

With ActiveDocument
   .PrintOut
    .SaveAs "S:\ARRETE\2017\" & DocName & ".doc"
    .Close
End With
Rechercher des sujets similaires à "recuperer valeur format vba"