Fusion (publipostage) vers un doc word à partir d'une macro en e xc
2 réponses
Gen
Bonjour,
Je voulais créer une macro en excel qui me permettrais de fusionner vers un
document word. Voici le code que j'utilise et qui fonctionne en partie.
Sub test2()
Dim AppWord As Object
Dim Chemin, Fichier, Chemin_Fichier, Source As String
Sheets("Feuil1").Select
Source = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
Set AppWord = CreateObject("Word.Application")
Set WdDoc = AppWord.Documents.Open("C:\Document.doc")
With WdDoc
.Application.Visible = True
.MailMerge.OpenDataSource Name:=Source, LinkToSource:=True
With .MailMerge
.Destination = wdSendToNewDocument
With .DataSource
.FirstRecord = 1
.LastRecord = 1
End With
.Execute Pause:=False
End With
.Application.Visible = True
' Ferme le doc ayant servi de modèle sans l'enregistrer
.Close (False)
End With
' Active Word
Application.ActivateMicrosoftApp xlMicrosoftWord
' Libère la mémoire
Set WdDoc = Nothing
End Sub
Je rencontre 1 problème. Le premier est à la ligne :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour Gen,
voici un extrait de l'aide,
Cet exemple montre comment créer un document principal et lui associer la table « Customers » qui se trouve dans la base de données Microsoft Access « Northwind.mdb ». La chaîne de connexion est affichée dans une boîte de message.
Dim docNew As Document
Set docNew = Documents.Add
With docNew.MailMerge .MainDocumentType = wdFormLetters .OpenDataSource _ Name:="C:Program FilesMicrosoft OfficeOffice" & _ "SamplesNorthwind.mdb", _ LinkToSource:=True, AddToRecentFiles:úlse, _ Connection:="TABLE Customers" MsgBox .DataSource.ConnectString End With
isabelle
Bonjour,
Je voulais créer une macro en excel qui me permettrais de fusionner vers un document word. Voici le code que j'utilise et qui fonctionne en partie.
Sub test2()
Dim AppWord As Object Dim Chemin, Fichier, Chemin_Fichier, Source As String Sheets("Feuil1").Select Source = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
Set AppWord = CreateObject("Word.Application") Set WdDoc = AppWord.Documents.Open("C:Document.doc")
With WdDoc .Application.Visible = True .MailMerge.OpenDataSource Name:=Source, LinkToSource:=True With .MailMerge .Destination = wdSendToNewDocument With .DataSource .FirstRecord = 1 .LastRecord = 1 End With .Execute Pause:úlse End With .Application.Visible = True
' Ferme le doc ayant servi de modèle sans l'enregistrer .Close (False)
End With
' Active Word Application.ActivateMicrosoftApp xlMicrosoftWord
' Libère la mémoire Set WdDoc = Nothing
End Sub
Je rencontre 1 problème. Le premier est à la ligne :
Là, je dois aller dans le fichier word et sélectionner la feuille où se trouve les données, cependant, je voudrais que ça se fasse automatiquement.
Est-ce que quelqu'un peut m'aider avec ce problème ?
Merci !
bonjour Gen,
voici un extrait de l'aide,
Cet exemple montre comment créer un document principal et lui associer
la table « Customers » qui se trouve dans la base de données Microsoft Access « Northwind.mdb ».
La chaîne de connexion est affichée dans une boîte de message.
Dim docNew As Document
Set docNew = Documents.Add
With docNew.MailMerge
.MainDocumentType = wdFormLetters
.OpenDataSource _
Name:="C:Program FilesMicrosoft OfficeOffice" & _
"SamplesNorthwind.mdb", _
LinkToSource:=True, AddToRecentFiles:úlse, _
Connection:="TABLE Customers"
MsgBox .DataSource.ConnectString
End With
isabelle
Bonjour,
Je voulais créer une macro en excel qui me permettrais de fusionner vers un
document word. Voici le code que j'utilise et qui fonctionne en partie.
Sub test2()
Dim AppWord As Object
Dim Chemin, Fichier, Chemin_Fichier, Source As String
Sheets("Feuil1").Select
Source = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
Set AppWord = CreateObject("Word.Application")
Set WdDoc = AppWord.Documents.Open("C:Document.doc")
With WdDoc
.Application.Visible = True
.MailMerge.OpenDataSource Name:=Source, LinkToSource:=True
With .MailMerge
.Destination = wdSendToNewDocument
With .DataSource
.FirstRecord = 1
.LastRecord = 1
End With
.Execute Pause:úlse
End With
.Application.Visible = True
' Ferme le doc ayant servi de modèle sans l'enregistrer
.Close (False)
End With
' Active Word
Application.ActivateMicrosoftApp xlMicrosoftWord
' Libère la mémoire
Set WdDoc = Nothing
End Sub
Je rencontre 1 problème. Le premier est à la ligne :
Cet exemple montre comment créer un document principal et lui associer la table « Customers » qui se trouve dans la base de données Microsoft Access « Northwind.mdb ». La chaîne de connexion est affichée dans une boîte de message.
Dim docNew As Document
Set docNew = Documents.Add
With docNew.MailMerge .MainDocumentType = wdFormLetters .OpenDataSource _ Name:="C:Program FilesMicrosoft OfficeOffice" & _ "SamplesNorthwind.mdb", _ LinkToSource:=True, AddToRecentFiles:úlse, _ Connection:="TABLE Customers" MsgBox .DataSource.ConnectString End With
isabelle
Bonjour,
Je voulais créer une macro en excel qui me permettrais de fusionner vers un document word. Voici le code que j'utilise et qui fonctionne en partie.
Sub test2()
Dim AppWord As Object Dim Chemin, Fichier, Chemin_Fichier, Source As String Sheets("Feuil1").Select Source = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
Set AppWord = CreateObject("Word.Application") Set WdDoc = AppWord.Documents.Open("C:Document.doc")
With WdDoc .Application.Visible = True .MailMerge.OpenDataSource Name:=Source, LinkToSource:=True With .MailMerge .Destination = wdSendToNewDocument With .DataSource .FirstRecord = 1 .LastRecord = 1 End With .Execute Pause:úlse End With .Application.Visible = True
' Ferme le doc ayant servi de modèle sans l'enregistrer .Close (False)
End With
' Active Word Application.ActivateMicrosoftApp xlMicrosoftWord
' Libère la mémoire Set WdDoc = Nothing
End Sub
Je rencontre 1 problème. Le premier est à la ligne :
Là, je dois aller dans le fichier word et sélectionner la feuille où se trouve les données, cependant, je voudrais que ça se fasse automatiquement.
Est-ce que quelqu'un peut m'aider avec ce problème ?
Merci !
Gen
Merci Isabelle mais j'avais déjà envisagé cette solution et ça ne fonctionne pas.
bonjour Gen,
voici un extrait de l'aide,
Cet exemple montre comment créer un document principal et lui associer la table « Customers » qui se trouve dans la base de données Microsoft Access « Northwind.mdb ». La chaîne de connexion est affichée dans une boîte de message.
Dim docNew As Document
Set docNew = Documents.Add
With docNew.MailMerge .MainDocumentType = wdFormLetters .OpenDataSource _ Name:="C:Program FilesMicrosoft OfficeOffice" & _ "SamplesNorthwind.mdb", _ LinkToSource:=True, AddToRecentFiles:úlse, _ Connection:="TABLE Customers" MsgBox .DataSource.ConnectString End With
isabelle
Bonjour,
Je voulais créer une macro en excel qui me permettrais de fusionner vers un document word. Voici le code que j'utilise et qui fonctionne en partie.
Sub test2()
Dim AppWord As Object Dim Chemin, Fichier, Chemin_Fichier, Source As String Sheets("Feuil1").Select Source = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
Set AppWord = CreateObject("Word.Application") Set WdDoc = AppWord.Documents.Open("C:Document.doc")
With WdDoc .Application.Visible = True .MailMerge.OpenDataSource Name:=Source, LinkToSource:=True With .MailMerge .Destination = wdSendToNewDocument With .DataSource .FirstRecord = 1 .LastRecord = 1 End With .Execute Pause:úlse End With .Application.Visible = True
' Ferme le doc ayant servi de modèle sans l'enregistrer .Close (False)
End With
' Active Word Application.ActivateMicrosoftApp xlMicrosoftWord
' Libère la mémoire Set WdDoc = Nothing
End Sub
Je rencontre 1 problème. Le premier est à la ligne :
Là, je dois aller dans le fichier word et sélectionner la feuille où se trouve les données, cependant, je voudrais que ça se fasse automatiquement.
Est-ce que quelqu'un peut m'aider avec ce problème ?
Merci !
Merci Isabelle mais j'avais déjà envisagé cette solution et ça ne fonctionne
pas.
bonjour Gen,
voici un extrait de l'aide,
Cet exemple montre comment créer un document principal et lui associer
la table « Customers » qui se trouve dans la base de données Microsoft Access « Northwind.mdb ».
La chaîne de connexion est affichée dans une boîte de message.
Dim docNew As Document
Set docNew = Documents.Add
With docNew.MailMerge
.MainDocumentType = wdFormLetters
.OpenDataSource _
Name:="C:Program FilesMicrosoft OfficeOffice" & _
"SamplesNorthwind.mdb", _
LinkToSource:=True, AddToRecentFiles:úlse, _
Connection:="TABLE Customers"
MsgBox .DataSource.ConnectString
End With
isabelle
Bonjour,
Je voulais créer une macro en excel qui me permettrais de fusionner vers un
document word. Voici le code que j'utilise et qui fonctionne en partie.
Sub test2()
Dim AppWord As Object
Dim Chemin, Fichier, Chemin_Fichier, Source As String
Sheets("Feuil1").Select
Source = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
Set AppWord = CreateObject("Word.Application")
Set WdDoc = AppWord.Documents.Open("C:Document.doc")
With WdDoc
.Application.Visible = True
.MailMerge.OpenDataSource Name:=Source, LinkToSource:=True
With .MailMerge
.Destination = wdSendToNewDocument
With .DataSource
.FirstRecord = 1
.LastRecord = 1
End With
.Execute Pause:úlse
End With
.Application.Visible = True
' Ferme le doc ayant servi de modèle sans l'enregistrer
.Close (False)
End With
' Active Word
Application.ActivateMicrosoftApp xlMicrosoftWord
' Libère la mémoire
Set WdDoc = Nothing
End Sub
Je rencontre 1 problème. Le premier est à la ligne :
Merci Isabelle mais j'avais déjà envisagé cette solution et ça ne fonctionne pas.
bonjour Gen,
voici un extrait de l'aide,
Cet exemple montre comment créer un document principal et lui associer la table « Customers » qui se trouve dans la base de données Microsoft Access « Northwind.mdb ». La chaîne de connexion est affichée dans une boîte de message.
Dim docNew As Document
Set docNew = Documents.Add
With docNew.MailMerge .MainDocumentType = wdFormLetters .OpenDataSource _ Name:="C:Program FilesMicrosoft OfficeOffice" & _ "SamplesNorthwind.mdb", _ LinkToSource:=True, AddToRecentFiles:úlse, _ Connection:="TABLE Customers" MsgBox .DataSource.ConnectString End With
isabelle
Bonjour,
Je voulais créer une macro en excel qui me permettrais de fusionner vers un document word. Voici le code que j'utilise et qui fonctionne en partie.
Sub test2()
Dim AppWord As Object Dim Chemin, Fichier, Chemin_Fichier, Source As String Sheets("Feuil1").Select Source = ActiveWorkbook.Path & "" & ActiveWorkbook.Name
Set AppWord = CreateObject("Word.Application") Set WdDoc = AppWord.Documents.Open("C:Document.doc")
With WdDoc .Application.Visible = True .MailMerge.OpenDataSource Name:=Source, LinkToSource:=True With .MailMerge .Destination = wdSendToNewDocument With .DataSource .FirstRecord = 1 .LastRecord = 1 End With .Execute Pause:úlse End With .Application.Visible = True
' Ferme le doc ayant servi de modèle sans l'enregistrer .Close (False)
End With
' Active Word Application.ActivateMicrosoftApp xlMicrosoftWord
' Libère la mémoire Set WdDoc = Nothing
End Sub
Je rencontre 1 problème. Le premier est à la ligne :