Bonjour,

j'ai deux messages d'erreur ("erreur d'automation 440 sur excel, l'autre sous word: word ne trouve pas les données erreur 5922), suite à une tentative de publipostage d'excel vers word.

J'ai donc un fichier excel, d'ou je souhaite appeler la macro word pour lancer le publipostage. Sauf que dans cette fameuse macro word je dois y préciser le chemin du classeur excel en question, or le nom du classeur et donc le chemin, est attribué par l'utilisateur lors de l'enregistrement de ce dernier, et s'affiche pour faire simple en cellule A301 de la feuille "Bilan" du classeur...

Voila le code qui génère ces erreurs:
excel:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub CreateNewWordDoc()
 
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Dim i As Integer
Dim NomBase As String
    Dim monparametre As Variant
sert lors de l'appel de la macro word: c'est le nom du classeur, auquel il faut faire référence
 
       Application.ScreenUpdating = False
    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = True
 
    Set wrdDoc = wrdApp.Documents.Open(ThisWorkbook.Path & "\Cible1.doc")
   monparametre = Sheets("Bilan").Range("A301").Value
 
    wrdApp.Run "Macro3", "monparametre"
    Application.ScreenUpdating = True
End Sub
Sous word:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Option Explicit
Sub Macro3(monparametre As Variant)
'
' Macro3 Macro
Dim nomclasseurexcel
 
 
nomclasseurexcel = monparametre
    ActiveDocument.MailMerge.MainDocumentType = wdCatalog
 
 
ActiveDocument.MailMerge.OpenDataSource Name:= _
        nomclasseurexcel _
        , ConfirmConversions:=True, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, Revert:=False, _
        Format:=wdOpenFormatAuto, Connection:= _
        "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source= nomclasseurexcel;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path=""" _
        , SQLStatement:="SELECT * FROM `Cachecible1$`", SQLStatement1:="", _
        SubType:=wdMergeSubTypeAccess
'paragraphe surligné par la commande de débogage
 
 
 
 
 
With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .DataSource
            .FirstRecord = wdDefaultFirstRecord
            .LastRecord = wdDefaultLastRecord
        End With
        .Execute Pause:=False
    End With
End Sub
bon j 'imagine bien que les erreurs viennent du fait que la variable n'est pas pris en compte mais je ne sais pas comment faire!! (ces macros marche si j'enleve ces variables et que je stipule le chemin absolu...!)

En esperrant votre aide
Cordialement
M.

(Post posté sur un autre forum sans réponse!)