Re : Liaison Word/Excel.
Bonjour Max60150, Bonjour Modeste,
J'aimerais savoir de quoi on parle. Es-ce un publipostage pour création de fichier Word, pour envoi mail, ... ?
Moi je te proposerais plutôt une macro qui te lance le publipostage en automatique à partir de ton Excel (la matrice de publipostage étant déjà créer). Cela avec les étape suivante :
- A partir d'Excel : ouverture de la matrice de publipostage
- Lancement du publipostage
- Fermeture de la matrice.
Avec une macro un peu comme ça pour un publipostage vers nouveau fichier Word (chemin d'accès bien entendu à adapter) :
Set WordApp = CreateObject("Word.Application")
With WordApp
.Visible = True
.WindowState = wdWindowStateMaximize
End With
Set WordDoc = WordApp.Documents.Open("chemin matrice")
WordApp.ActiveDocument.MailMerge.OpenDataSource Name:= _
"Chemin d'accès source de données du publipostage", _
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=Chemin d'accès source de données du publipostage;Jet OLEDB: Databas" _
, SQLStatement:="SELECT * FROM `'transfert publi$'`", SQLStatement1:="", _
SubType:=wdMergeSubTypeAccess
With WordApp.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = 1
.LastRecord = 500
End With
.Execute Pause:=False
End With
WordApp.ChangeFileOpenDirectory "chemin enregistrement fichier publier"
WordApp.ActiveDocument.SaveAs "Nom fichier publier", _
FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", _
AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
:=False, SaveAsAOCELetter:=False
WordApp.Documents("chemin matrice").Close
Après c'est à adapter mais je l'utilise fréquemment sans problématique si la matrice est correctement faite.
Bien à vous.