Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

<ouvrir un doc word par macro à partir d'excel

patrick141078

XLDnaute Nouveau
Bonjour

A partir d'une feuille excel, avec une macro je tente d'ouvrir un document word qui est fusionné à la feuille excel pour réaliser un publipostage.
J'ai un problème le doc s'ouvre mais je "perds" le processus de fusion pour le publipostage, de plus le document reste dans la barre des taches et ne s'ouvre pas automatiquement à l'écran, mais ce n'est pas là le plus gênant..

Voici le code que j'utilise
Sub OuvrirDocWord()
'la reference Microsoft Word xx.x Object Library est activée

Dim WordApp
Dim WordDoc
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
Set WordDoc = WordApp.Documents.Open("F:\LocalBackup\GDP UTDC\GESTION DP 2012\Originaux 2012 2013\DAET FUSION1.doc")
End Sub

Merci pour votre aide
 

chris

XLDnaute Barbatruc
Re : <ouvrir un doc word par macro à partir d'excel

Bonjour

Si j'ai bien compris, le code est appelé à partir du classeur à fusionner Il y a alors conflit d'accès : Word ne peut ouvrir le document de fusion car il l'est dans Excel
 

patrick141078

XLDnaute Nouveau
Re : <ouvrir un doc word par macro à partir d'excel

Re bonjour
J'ai un classeur avec plusieurs feuilles
Feuille 1 base de données qui servent au publipostage sur le doc word
Feuille 2 un bouton macro avec le code indiqué précédemment qui va ouvrir le doc Word prêt à être "fusionné"

lorsque j'actionne la macro le doc s'ouvre mais perd le processus de publipostage

voilà et merci
 

chris

XLDnaute Barbatruc
Re : <ouvrir un doc word par macro à partir d'excel

Re

Cela n'a rien à voir.

Hors macro, essaye de lancer un publispostage sur un Excel ouvert : tu auras un message d'erreur.
 

chris

XLDnaute Barbatruc
Re : <ouvrir un doc word par macro à partir d'excel

Re

Effectivement le conflit se produit seulement dans l'autre sens.

Vérification faite, ton code ne comporte pas l'ordre de fusion.

Néanmoins cela ne va pas suffire car depuis la version 2003, il y a une protection contre le code SQL.

Pour que cela fonctionne il faut soit modifier la base de registre soit redéfinir la chaîne complète du SQL.
Regarde ici le code de MIchelXLD alias Sylkyroad Publipostage Excel->Word et fusion sur nouveau document [Résolu] - Forum des professionnels en informatique

et plus particulièrement la partie
With WdDoc.MailMerge

J'ai testé cela fonctionne.
 

patrick141078

XLDnaute Nouveau
Re : <ouvrir un doc word par macro à partir d'excel

Bonjour et Merci
j'ai trouvé une partie de ma réponse. Le code que j'ai mis me permet d'ouvrir le document word prêt pour la fusion, il s'ouvre dans la barre d'outils et non à l'écran comme je souhaite
Private Sub commandButton1_Click()
'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
Dim docWord As Word.Document
Dim appWord As Word.Application
Dim NomBase As String

NomBase = "C:\Users\Patrick\Documents\FUSION TEST\BASE.xls"

Application.ScreenUpdating = False
Set appWord = New Word.Application
appWord.Visible = True
'Ouverture du document principal Word
Set docWord = appWord.Documents.Open("C:\Users\Patrick\Documents\FUSION TEST\FORME2.doc")

'fonctionnalité de publipostage pour le document spécifié
With docWord.MailMerge
'Ouvre la base de données
.OpenDataSource Name:="C:\Users\Patrick\Documents\FUSION TEST\BASE.xls", _
Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=" & "C:\Users\Patrick\Documents\FUSION TEST\BASE.xls" & "; ReadOnly=True;", _
SQLStatement:="SELECT * FROM [BASE1$]"
End With


End Sub

Pour être plus concret et comprendre mon problème rien de tel que travailler à partir des fichiers.... ci joint un lien pour y accéder

Pour accéder au fichier cliquez sur le lien ci-dessous et entrez les identifiants...
Fichier : Partage de gros fichiers rapide internet
Taille du fichier : 12.85
Utilisateur : eftpcqvm
Mot de passe : 5yiusjev
Ce fichier est disponible durant 15 jours.

merci encore
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…