Ouverture d'un fichier word à partir d'excel

condors.s

XLDnaute Occasionnel
Bonjour à tous,
Je cherches à ouvrir un fichier word à partir d'une macro excel.

Dans un fichier Excel, je renseigne différentes caractéristiques qui selon le cas font que je cherche à ouvrir les docs word (RA1, RA2, RA3,...).

Comment faire pour ouvrir le fichier voulu?

Merci de votre aide. :eek:
 

condors.s

XLDnaute Occasionnel
Re : Ouverture d'un fichier word à partir d'excel

Pour rendre l'exercice un peu plus complet, je joint un exemple.
Je souhaiterais qu'en cliquant sur la barre "generer", les fichiers nommés en L4 :L7 soient ouvert.

Ces fichiers Word integrent une fonction publipostage. Est il possible de la lancer par ce meme bouton.

Merci pour les infos
 

Pièces jointes

  • ouvrir word avec excel.xlsm
    13.5 KB · Affichages: 87

JNP

XLDnaute Barbatruc
Re : Ouverture d'un fichier word à partir d'excel

Bonjour Condors.s
Pour rendre l'exercice un peu plus complet, je joint un exemple.
Fait attention aux mots malheureux, ici, on est là pour t'aider, pas pour faire des exos :p...
Un bout de code qui devrait correspondre
Code:
Dim appWD As Word.Application
Set appWD = CreateObject("Word.Application")
appWD.Visible = True
appWD.Documents.Open Range("L4")
'appWD.Quit
Attention, il faut avant cela ouvrir dans l'éditeur VBA Outils -> Références... Microsoft Word 00.0 Object Library.
Pour le publipostage, un petit enregistrement dans l'enregistreur de macro Word devrait te donner un code exploitable depuis Excel.
Bon courage :cool:
Rajout : et pressé, en plus :eek:...
 

condors.s

XLDnaute Occasionnel
Re : Ouverture d'un fichier word à partir d'excel

Un grand merci JNP.

Quelques questions supplémentaires :
- dans références/VBA, je n'ai pas trouvé Microsoft Word 00.0 Object Library, mais 12.0
- est ce que si dans ton code je remplace "L4" par "L4:L7" je couvre tout le champ?

Merci beaucoup
 

JNP

XLDnaute Barbatruc
Re : Ouverture d'un fichier word à partir d'excel

Re :),
J'ai mis Microsoft Word 00.0 Object Library, mais effectivement, c'est 12.0 pour 2007, 11.0 pour 2003, etc...
Pour L4:L7, je doute que la macro apprécie, de plus elles ne sont pas toutes renseignées...
ce serait plutôt
Code:
Dim I As Integer
For I = 4 To 7
If Cells(I, 12) <> "" Then
appWD.Documents.Open  Cells(I, 12).Value
End If
Next
non testé.
Bon courage :cool:
 

condors.s

XLDnaute Occasionnel
Re : Ouverture d'un fichier word à partir d'excel

Merci beaucoup pour l'info.

La première macro ne fonctione pas :
Le bog est au niveau de "appWD.Documents.Open Range("L4")"

Code:
Sub Generer()
' Generer Macro
'   Dim appWD As Word.Application
    Set appWD = CreateObject("Word.Application")
    appWD.Visible = True
    appWD.Documents.Open Range("L4")
'   appWD.Quit
End Sub

Pour la deuxième intruction, je ne vois pas à quel niveau l'intégrer?
 

JNP

XLDnaute Barbatruc
Re : Ouverture d'un fichier word à partir d'excel

Bonjour :),
A priori, les problèmes sont multiples...
1) Il faut rendre Word visible, car on pourrait très bien travailler sur le fichier sans le visualiser, et comme pour l'instant on utilises pas le .Quit, les instances restent ouvertes (j'ai été obligé de tuer les processus dans le gestionnaire des tâches)...
2) Les chemins absolus semblent poser problème (je suis sous Seven, peut-être que sous XP, il n'y aura pas de problème...)
Donc voici un code revu
Code:
Sub test()
Dim appWD As Word.Application
Dim I As Integer
Set appWD = CreateObject("Word.Application")
appWD.Visible = True
For I = 4 To 7
If Cells(I, 12) <> "" Then
appWD.Documents.Open ThisWorkbook.Path & "\" & Sheets("Feuil1").Cells(I, 12)
End If
Next
'appWD.Quit
End Sub
que j'ai testé en mettant les 2 .doc à côté du fichier .xls, en mettant les noms de fichiers en K et en mettant =K en L pour vérifier qu'issu de formule ça fonctionne aussi.
Pas de problème dans ce cas de figure. Vérifie déjà chez toi, il faudra peut-être voir ensuite pourquoi les chemins ne fonctionnent pas chez toi si c'est le cas.
A + :cool:
 

JNP

XLDnaute Barbatruc
Re : Ouverture d'un fichier word à partir d'excel

Re :),
Commence par le début :
Code:
Sub test()
Dim appWD As Word.Application
Set appWD = CreateObject("Word.Application")
appWD.Visible = True
appWD.Documents.Open ThisWorkbook.Path & "\test.doc" 
'appWD.Quit
End Sub
avec un fichier Word appelé test.doc à côté du fichier Excel enregistré où tu as la macro.
Si déjà ça ça marche, ça sera déjà un début :p...
Bon courage :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 514
Messages
2 089 208
Membres
104 065
dernier inscrit
val29