Bonjour,
Je rencontre actuellement un problème sous VBA : je souhaite générer un publipostage Word à partir d’un document Excel. J’ai créé une macro (« Test ») qui ouvre un document Word et reprend les champs de mon tableau Excel qui viennent s’implanter dans le document Word. Mon souci : lorsque le document Word s’ouvre et que le publipostage se lance, il m’est demandé de sélectionner l’onglet dans lequel se trouve les champs (« LM » en l’occurrence) à utiliser : je souhaiterais réussir à automatiser également cette étape afin que l’utilisateur n’ait pas à sélectionner la feuille à l’ouverture de Word.
Voici un extrait de mon code en l’état actuel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Sub Test()
Dim oWord As Word.Application, oDoc As Word.Document
Dim sPath As String, i As Integer, oHeaders As Range
Set oHeaders = Sheets("LM").Range("B1").CurrentRegion.Rows(1)
sPath = ThisWorkbook.FullName
Set oWord = CreateObject("Word.Application")
Set oDoc = oWord.Documents.Add
oWord.Visible = True
oDoc.MailMerge.MainDocumentType = wdMailingLetters
[
]
oDoc.MailMerge.OpenDataSource Name:=sPath
oDoc.MailMerge.ViewMailMergeFieldCodes = False
oDoc.ActiveWindow.View.ShowFieldCodes = False
End Sub |
J’ai essayé de remplacer la ligne
oDoc.MailMerge.OpenDataSource Name:=sPath
par
oDoc.MailMerge.OpenDataSource Name:=sPath, SQLStatement:="SELECT*FROM'LM$'"
sans succès…
Par avance, merci beaucoup pour votre aide !
Partager