Exportation des données excel dans un document word

Résolu
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015 - 29 juin 2012 à 00:21
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015 - 30 juin 2012 à 19:30
Bonjour,


J'ai un document word dans lequel je doit rentrer des données (c'est un courrier type sur lequel j'insere des données personnalisées au destinataire).
Je voudrais pouvoir rentrer ces données dans une feuille excel, et faire ensuite fusionner les deux fichiers, de sorte que les données saisies dans excel aille s'insérer dans le document word.

Cela est-il possible ?
Merci par avance pour votre aide.

3 réponses

cs_viviane44 Messages postés 38 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 25 mars 2014
29 juin 2012 à 15:19
Bonjour,
Il faut d'abord créér ton fichier xlsm (entetes col. + données)
puis crééer le doc Word en publipostage pour declarer les champs de fusion

ensuite le code :

oWordApp = CreateObject("Word.Application")
oWordApp.Application.Visible = False
oWordApp.Documents.Open(WFic)
oWordApp.Selection.Find.ClearFormatting()
oWordApp.ActiveDocument.MailMerge.OpenDataSource (Name:="J:\DocImpr.xlsm",ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True,AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=J:\DocImpr.xlsm;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global" _
, SQLStatement:="SELECT * FROM `Feuil1$`", SQLStatement1:="") ', SubType:= wdMergeSubTypeAccess)

With oWordApp.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute(Pause:=False)
End With
oWordApp.ActiveDocument.SaveAs(WNomFic, _
fileFormat:=wdFormatXMLDocumentMacroEnabled,LockComments:=False, _
Password:="", AddToRecentFiles:=True, WritePassword:="", _
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:=False)
oWordApp.ActiveDocument.Close(wdDoNotSaveChanges)
oWordApp.Documents.Close(wdDoNotSaveChanges)
oWordApp.Quit(wdDoNotSaveChanges)
oWordApp = Nothing

Bon courage !
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 juin 2012 à 01:52
Salut

Regarde dans l'aide de Word sur le sujet du "Publipostage", c'est fait pour ça.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015
30 juin 2012 à 19:30
Bonjour,

Je te remercie énormément pour ton aide viviane44, car je débute dans le domaine, et n'ai que quelques infimes notions.
Je te remercie vraiment, car c'est vraiment de l'entraide.


merci encore, tu es excellente, merci
0
Rejoignez-nous