IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro word paramétrée par excel, erreur


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Macro word paramétrée par excel, erreur
    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!)

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 358
    Points
    34 358
    Par défaut
    salut,

    ta méthode est bonne, il faut simplement remplacer la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wrdApp.Run "Macro3", "monparametre"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wrdApp.Run "Macro3", monparametre
    bien distinguer la valeur "monparametre" et la variable monparametre

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Merci pour le conseil jpcheck, j'en prends bien note ;D
    Problème résolu!!
    bonne journée (c'est fou ce que l'on peut perdre du temps pour des guillemets!!)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2003] macro word lancée par excel ne répond pas correctement
    Par QuestVba dans le forum VBA Word
    Réponses: 8
    Dernier message: 12/07/2012, 13h32
  2. Réponses: 9
    Dernier message: 17/01/2008, 16h16
  3. Macro Word avec paramètre lancée depuis Excel
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 1
    Dernier message: 07/10/2007, 18h50
  4. lancer macro word à partir d'excel
    Par tonnick dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/06/2007, 11h29
  5. [VBA] exécuter macro Word à partir d'excel
    Par le_niak dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/05/2007, 09h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo