Ouvrir un document Word à partir d'Excel pour un publipostage Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
scn68100
Membre habitué
Membre habitué
Messages : 127
Appréciations reçues : 2
Inscrit le : 9 avril 2018
Version d'Excel : 2016

Message par scn68100 » 20 janvier 2019, 15:32

Bonjour,
J'ai un document Word pour faire un publipostage
Il s'appuie sur un classeur Excel pour les adresses

Quand j'ouvre le classeur, puis le document Word, pas de problème
Dans le menu PUBLIPOSTAGE, le bouton TERMINER le PUBLIPOSTAGE est accessible

J'ai mis un bouton dans le classeur pour ouvrir ce document Word
Quand j'ouvre le classeur Excel, et que j'ouvre le document Word par le bouton, dans le menu PUBLIPOSTAGE, le bouton TERMINER le PUBLIPOSTAGE est grisé, non disponible

Quel est mon erreur ?

Cordialement
SC
PJ Le classeur et le Word
Publipostage.xlsm
(20.07 Kio) Téléchargé 81 fois
Publipostage.doc
(31 Kio) Téléchargé 98 fois
Cordialement
Sauveur
Windows10 Professionnel 64 bit - Excel 2016 64 bit
Avatar du membre
GVIALLES
Membre dévoué
Membre dévoué
Messages : 816
Appréciations reçues : 73
Inscrit le : 28 novembre 2017
Version d'Excel : 2016, 360
Téléchargements : Mes applications

Message par GVIALLES » 20 janvier 2019, 19:26

Bonjour scn68100,

Je propose de modifier la procédure de lancement du publipostage de la façon suivante :
Private Sub cmdPublipostage_Click()
    Dim oDoc As Word.Document 'Ajout GVS
    wChemin = ThisWorkbook.Path
    wFicPublipostage = "Publipostage.doc"
    Set wordApp = CreateObject("word.Application")
    wordApp.Visible = True
    Set oDoc = wordApp.Documents.Open(wChemin & "\" & wFicPublipostage) 'Ajout GVS
    oDoc.MailMerge.OpenDataSource Name:=ThisWorkbook.FullName, SQLStatement:="SELECT * FROM `PubliPost$`" 'Ajout GVS
End Sub
Cordialement,

Gérard
Avatar du membre
scn68100
Membre habitué
Membre habitué
Messages : 127
Appréciations reçues : 2
Inscrit le : 9 avril 2018
Version d'Excel : 2016

Message par scn68100 » 21 janvier 2019, 09:14

Bonjour,
Merci infiniment
J'ai toutefois corrigé la déclaration de oDoc, car Word.Document sort en erreur
Jais laissé simplement
Dim oDoc
Cordialement
Sauveur
Windows10 Professionnel 64 bit - Excel 2016 64 bit
Avatar du membre
GVIALLES
Membre dévoué
Membre dévoué
Messages : 816
Appréciations reçues : 73
Inscrit le : 28 novembre 2017
Version d'Excel : 2016, 360
Téléchargements : Mes applications

Message par GVIALLES » 21 janvier 2019, 10:27

Bonjour scn68100,

Oui, tu as eu raison. Toutefois, à toutes fins utiles, je t'explicite ce point:

La déclaration
Dim oDoc as word.Document
fait référence aux objets de l'"univers" WORD. Le bénéfice par rapport à la déclaration
Dim oDoc
est l'accès aux fonctionnalités de l'IntelliSense de VBA: lorsque tu écris du code, la totalité des Propriétés/Méthodes/Evènements liés à l'objet que tu utilises seront automatiquement listés et tu pourras choisir facilement celle qui t'intéresses.

La condition pour que ça fonctionne : référencer l'objet voulu (ici WORD). Pour référencer, dans le VBE : Outils/Références :
Referencement.PNG
Referencement.PNG (23.24 Kio) Vu 862 fois
Cordialement,

Gérard
Avatar du membre
scn68100
Membre habitué
Membre habitué
Messages : 127
Appréciations reçues : 2
Inscrit le : 9 avril 2018
Version d'Excel : 2016

Message par scn68100 » 21 janvier 2019, 14:09

Encore merci !
C'est très sympa d'avoir signalé cela

Pendant que j'y suis, que rajouter dans ces références ? Car j'ai peut être d'autre "manque" ….
Cordialement
Sauveur
Windows10 Professionnel 64 bit - Excel 2016 64 bit
Avatar du membre
GVIALLES
Membre dévoué
Membre dévoué
Messages : 816
Appréciations reçues : 73
Inscrit le : 28 novembre 2017
Version d'Excel : 2016, 360
Téléchargements : Mes applications

Message par GVIALLES » 21 janvier 2019, 15:18

En faisant défiler la boite de référencement, tu peux avoir une idée de la richesse des objets que tu peux référencer.

En ce qui me concerne, je réfère souvent en cas de besoin et en dehors de WORD : OUTLOOK, SCRIPTING RUNTIME (accès à l'objet FileSystemObject), Microsoft DAO 6.0 (objets JET) Microsoft ActiveX Data Objects 6.1 (objets ADODB)...
Cordialement,

Gérard
Avatar du membre
scn68100
Membre habitué
Membre habitué
Messages : 127
Appréciations reçues : 2
Inscrit le : 9 avril 2018
Version d'Excel : 2016

Message par scn68100 » 22 janvier 2019, 07:57

OK, tout mes remerciements
Cordialement
Sauveur
Windows10 Professionnel 64 bit - Excel 2016 64 bit
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message