[R] récupérer un champ de fusion

brice59

XLDnaute Occasionnel
Bonjour,

J'ai besoin de récupérer 2 champs de fusion ("nom" et "prénom") pour l'inclure dans le nom de sauvegarde du fichier.
J'utilise un publipostage, donc j'ai plein de personnes différentes, et je pensais faire une macro pour enregistrer chaque document word (un par personne) en récupérant le nom et prénom qui sont dans les champs de fusion.

Mais comment faire ???
 
Dernière édition:

bestsh

XLDnaute Nouveau
Re : récupérer un champ de fusion

Hello Brice,

j'ai trouvé ça si tu veux :


Sub Macro()
'
'définit "nom" comme étant la valeur du champ N°2 de la feuille de donnée utilisée dans le publipostage
nom = ActiveDocument.MailMerge.DataSource.DataFields(2).Value
'idem pour "prénom" en fonction de la valeur de la colonne n°3
'prénom = ActiveDocument.MailMerge.DataSource.DataFields(3).Value
'idem pour "consultation" en fonction de la valeur de la colonne n°6
'consultation_du = ActiveDocument.MailMerge.DataSource.DataFields(6).Value

ChangeFileOpenDirectory "C:\ton\chemin\dossiers\etc\" 'c'est le chemin ou va être enregistré ton fichier -- bien ajouter le "\" à la fin.
'Ci-dessous la commande qui enregistre ton fichier en incluant le champs "société" qu'on a défini plus haut
ActiveDocument.SaveAs FileName:=societe & ".doc", FileFormat:=wdFormatDocument

End Sub


Voilà..
Pas forcément besoin de fichier pour une demande toute bête quand on a la réponse ;)

Bonne soirée à tous.
 

BenFullThrottle

XLDnaute Nouveau
Bonjour a tous
Je me permet de rebondir sur ce sujet car j'ai le même problème. Je n'arrive pas à obtenir la cerise. ;-)

J'ai une base de donnée XLS qui remplis un formulaire word en publipostage.
La particularité du code c'est qu'il vas extraire que une ligne présélectionnée dans le fichier word. Je me retrouve donc avec un document word avec 1 seul enregistrement. (Celui ci correspond à la ligne sélectionnée)
Jusqu’à présent tout fonctionne parfaitement.
Ce que je n'arrive pas à faire c'est d'enregistrer le document word en fonction des valeurs de la colonne 2 et 3. Un peut comme ça : .DataSource.DataFields(2).Value & .DataSource.DataFields(3).Value

Mais tout ce que j'essaie ne fonctionne pas.
Je me permet de vous joindre mes deux documents.

A bientôt
Ben
 

Pièces jointes

  • Book21.xlsm
    25.6 KB · Affichages: 14

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 889
Membres
101 831
dernier inscrit
gillec