Résolu Comment imprimer un "x.doc" à partir d'un" y.xls" à l'aide de VBA ?

Solutions (13)
Tags :
  • Word
  • Microsoft Excel
  • Microsoft
  • Programmation
|
Bonsoir aux experts de VBA,

Dans le fichier Excel, « SOMMAIRE », à l’aide d’une macro VBA, je récupère le nom d’un fichier Word « Chant1 » qui s’affiche correctement à l’écran.
Je vous passe les écritures de récupération du nom et ma macro se termine par :

chant1 = chant & ".doc"
chant2 = "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE D:\PERSO\Chansons\" & chant1
MyAppId = Shell(chant2, 1)
AppActivate MyAppId


Jusque là tout va bien

Mais je ne sais pas envoyer ce fichier (chant1) à l’imprimante.
Quelqu’un peut-il m’aider ?
Merci.
gporte
  • Meuniers a édité ce message
Contenus similaires
  • Autres pages sur : imprimer doc partir xls aide vba
Meilleure solution
partage
, Modérateur |
Salut,
Il faut cliquer sur le lien "Elire meilleure réponse" avec la petite médaille.
  • Commenter cette solution |
Score
0
òh
òi
|
Meilleure réponse sélectionnée par gporte.
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour,

La réponse à ma question (tout à fait proche de celle d'Omar

Sub PrintWord()
Set WApp = CreateObject("Word.application") 'Definition de WApp => application Word ouverte
WApp.Visible = True ' Affichage de Word
' Sélection de la plage Sommaire
Range([A3], [A65536].End(xlUp)).Select
For Each Cell In Selection
FicWord = ActiveWorkbook.Path & "\" & Cell.Value & ".doc"
Set FicWord = WApp.Documents.Open(Filename:=FicWord) 'Definition de FicWord comme étant le fichier Word à traiter
FicWord.PrintOut 'Enregistrement du fichier Word
FicWord.Save 'Impression du fichier Word
FicWord.Close ' fermeture du fichier
Next Cell
WApp.Quit 'On quitte Word
Set WApp = Nothing
End Sub

Merci,

Je ne sais comment dire dans ce forum que la question est résolue. Je n'ai pas compris ce qu'était la "coupe" au dessus de laquelle il fallait cliquer
Merci de me dire.

gporte
  • Commenter cette réponse |
Score
0
òh
òi
|
erreur sur mon dernier message.
Ca ne marche pas.
je vais essayer de remplacer le fichier .dot par le mien selon ton conseil.
merci
gporte
  • Commenter cette réponse |
Score
0
òh
òi
|
1000 excuses mon précédent message est parti sans contrôle.
J'ai trouvé (à tatons) voici mes instructions:

chant1 = chant & ".doc"
chant2 = "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE D:\PERSO\Chansons\" & chant1
Set WordObj = CreateObject("Word.Application")
MyAppId = Shell(chant2, 1)
Selection.PrintOut

Ca marche.
merci de ton soutien.
gporte
  • Commenter cette réponse |
Score
0
òh
òi
|
chant1 = chant & ".doc"
chant2 = "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE D:\PERSO\Chansons\" & chant1
Set WordObj = CreateObject("Word.Application")
MyAppId = Shell(chant2, 1)
Selection.PrintOut
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Il me semble que .dot c'est les fichiers templates de word
Il faut bien évidemment que tu remplaces document.dot par ton fichier. Met le chemin complet vers ton fichier par contre.
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonsoir,

J'ai essayé mais j'ai une erreue '5174' car sur l'instruction
'Set wordDoc = wordApp.Documents.Open("document.dot")
le fichier "document.dot" n'est pas trouvé (d'ailleurs, je me demande pourquoi un fichier .dot ?)
j'ai essayé avec mon fichier, mais ça me donne une erreur '438'...
Je suis perdu...

Merci tout de même:je suis moins seul!
gporte
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Pas sûr qu'il y ait besoin de grand chose au milieu des ...
Est-ce que tu as essayé avec juste ça (en enlevant les ... bien évidemment)
  • Commenter cette réponse |
Score
0
òh
òi
|
Merci encore,
Ce sont les ... qui m'ennuient.
Novice comme je suis, je sais aller chercher mon fichier à imprimer, je sais (maitenant) ouvrir Word et un document .dot, mais à partir de là je ne sais plus...
J'ai essayé plein de choses mais je ne comprends même rien aux "aides" des message d'erreur...Pas facile pour progresser.
Cordialement,
Guy PORTE
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Avec le code donné en intro ?
  1. Set wrdApp = CreateObject("Word.Application")
  2. Set wrdDoc = wrdApp.Documents.Open("document.docx")
  3. ...
  4. wrdDoc.PrintOut
  5. wrdDoc.Close
  6. wrdApp.Quit
  • Commenter cette réponse |
Score
0
òh
òi
|
Merci d'avoir répondu, mais je ne m'en sort pas pour autant.
Merci tout de même;
gporte
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS