Bonjour à tous,
Je tente depuis plusieurs jours, sans succès, d’améliorer une macro de publipostage.
Celle-ci me sert à sélectionner les informations d’une seule ligne de mon tableau numéro 1, de les copier, de les coller dans le tableau numéro 2, qui me permet ensuite de publiposter dans différents modèles de courrier.
Bien qu’un peu alambiqué, tout cela fonctionne très bien.
Mon problème est le suivant :
Je lance ma macro à partir du tableau numéro 1. Lorsque le modèle Word s’ouvre automatiquement, je dois à chaque fois sélectionner manuellement la feuille du tableau numéro 2 (qui ne contient qu’une feuille), en cliquant sur OK dans l’encadré « sélection du tableau » qui apparaît. Je souhaiterais que le fichier Word publiposté s'ouvre directement à l'exécution de la macro.
Est-il possible d’intégrer une ligne de code permettant d’automatiser cette action ? Si oui, à quel endroit dois-je l’intégrer ?
Voici le code :
J'ai tenté avec "feuil1.select" et avec "Application.DisplayAlerts = False" mais cela ne fonctionne pas. Peut-être les ai-je intégrés au mauvais endroit.
En espérant que quelqu'un puisse m'aider,
Merci de votre attention.
Loïc
Je tente depuis plusieurs jours, sans succès, d’améliorer une macro de publipostage.
Celle-ci me sert à sélectionner les informations d’une seule ligne de mon tableau numéro 1, de les copier, de les coller dans le tableau numéro 2, qui me permet ensuite de publiposter dans différents modèles de courrier.
Bien qu’un peu alambiqué, tout cela fonctionne très bien.
Mon problème est le suivant :
Je lance ma macro à partir du tableau numéro 1. Lorsque le modèle Word s’ouvre automatiquement, je dois à chaque fois sélectionner manuellement la feuille du tableau numéro 2 (qui ne contient qu’une feuille), en cliquant sur OK dans l’encadré « sélection du tableau » qui apparaît. Je souhaiterais que le fichier Word publiposté s'ouvre directement à l'exécution de la macro.
Est-il possible d’intégrer une ligne de code permettant d’automatiser cette action ? Si oui, à quel endroit dois-je l’intégrer ?
Voici le code :
Code:
Sub test()
Rows(ActiveCell.Row).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.599993896298105
.PatternTintAndShade = 0
End With
Application.CutCopyMode = False
Selection.Copy
Workbooks.Open Filename:= _
"tableau n°2.xlsm"
Windows("tableau n°1.xlsm").Activate
Windows("tableau n°2.xlsm").Activate
Application.ScreenUpdating = False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Dim WordApp As Object
Dim WordDoc As Object
Set WordApp = CreateObject("word.application")
WordApp.Visible = True
Set WordDoc = WordApp.Documents.Open("mon modèle word.docm")
WordDoc.MailMerge.OpenDataSource Name:="tableau n°2.xlsm"
Workbooks("tableau n°2.xlsm").Close Savechanges:=False
WordDoc.MailMerge.Execute
WordDoc.Close Savechanges:=False
WordApp.ChangeFileOpenDirectory "publipostage réalisé"
End Sub
J'ai tenté avec "feuil1.select" et avec "Application.DisplayAlerts = False" mais cela ne fonctionne pas. Peut-être les ai-je intégrés au mauvais endroit.
En espérant que quelqu'un puisse m'aider,
Merci de votre attention.
Loïc