Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Impossible d'accéder à un document principal de fusion via VBA

1 réponse
Avatar
CrazyMasterMC
Salut,

Ce post est à cheval entre le VBA Acess et le VBA Office mais comme le
source est dans Access je le poste ici.

J'ai crée un logiciel de CRM sous access à partir duquel je dois lancer une
impression d'étiquettes.

J'ai créé un document de fusion sous Word qui puise ses données dans la base
access et sur la requête qui va bien.

J'utilise le code suivant pour lancer la fusion :


Code :
'***************************************
Private Sub cmdReport_Click()
'***************************************
'On Error GoTo Err_cmdPreview_Click
Call prepSQLQ
Dim wdapp As word.Application
'Démarrer Word
Set wdapp = CreateObject("Word.application")
With wdapp
.Visible = True
'ouvrir le document
.Documents.Open cstWordTemplate
'Diriger le publipostage vers un nouveau document
.ActiveDocument.MailMerge.Execute
End With

'fermer et libérer les objets
Set wdapp = Nothing
Exit_cmdPreview_Click:
Exit Sub
Err_cmdPreview_Click:
MsgBox Err.Description
Resume Exit_cmdPreview_Click
End Sub
Malheureusement, lors de l'exécution, j'ai le message d'erreur :

Erreur d'exécution '4605'
Cette méthode ou propriété n'est pas disponible car le document n'est pas un
document principal de fusion.

Or, à moins d'avoir fait une mauvaise manipulation (plusieurs fois) s'en est
un.

Quelqu'un pourrait-il m'aider ?

D'avance merci

Laurent Jordi
http://www.ezlogic.mc
http://www.laurentjordi.net

1 réponse

Avatar
Anacoluthe
Bonjour !

'CrazyMasterMC' nous a écrit ...
.Documents.Open cstWordTemplate
.ActiveDocument.MailMerge.Execute
Erreur d'exécution '4605'
Cette méthode ou propriété n'est pas disponible car le document n'est pas un
document principal de fusion.


Vérifiez le MailMerge.State de cstWordTemplate

Tel que vous nous le présentez cstWordTemplate doit être un
document (pas un modèle) principal de fusion pré-connecté
à sa source de données.

Anacoluthe
« Le principal est de débuter. »
- Georges Charles HUYSMANS