Bonjour,
J'aurais besoin de votre aide concernant le code que j'utilise pour imprimer un document Word.
Je m'explique : je dois imprimer un document selon la langue choisie dans une liste. J'ai récupéré un code dans le même fichier qui marche très bien mais dans cette nouvelle macro, rien à faire, l'impression bloque.
Voici le code utilisé (raccourci car plusieurs langues)
Alors, je pense pas que ce soit la meilleure manière de faire, mais je suis pas très bon en VBA donc je fais avec ce qui marche (normalement ^^).
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 Sub imprimer_quickstart() Dim langue As String langue_quickstart = Range("'Fiche broyeur'!B14") 'cellule avec les langues via une liste Dim appWrd As Word.Application Dim docWord As Word.Document Dim Fichier As String Select Case langue_quickstart Case Is = "Allemand" Fichier = "S:\Service technique\Quick Start\quick start ALL.docx" Set appWrd = CreateObject("Word.Application") 'creation session Word appWrd.DisplayAlerts = True Set docWord = appWrd.Documents.Open(Fichier) docWord.PrintOut 'impression docWord.Close 'fermer le document Word appWrd.Quit 'fermer la seesionWord Case Is = "Anglais" Fichier = "S:\Service technique\Quick Start\quick start ANG.docx" Set appWrd = CreateObject("Word.Application") 'creation session Word appWrd.DisplayAlerts = True Set docWord = appWrd.Documents.Open(Fichier) docWord.PrintOut 'impression docWord.Close 'fermer le document Word appWrd.Quit 'fermer la seesionWord Case Is = "Espagnol" Fichier = "S:\Service technique\Quick Start\quick start ESP.docx" Set appWrd = CreateObject("Word.Application") 'creation session Word appWrd.DisplayAlerts = True Set docWord = appWrd.Documents.Open(Fichier) docWord.PrintOut 'impression docWord.Close 'fermer le document Word appWrd.Quit 'fermer la seesionWord Case Is = "Français" Fichier = "S:\Service technique\Quick Start\quick start FR.docx" Set appWrd = CreateObject("Word.Application") 'creation session Word appWrd.DisplayAlerts = True Set docWord = appWrd.Documents.Open(Fichier) docWord.PrintOut 'impression docWord.Close 'fermer le document Word appWrd.Quit 'fermer la seesionWord Case Else End Select End Sub
Quand je clique sur la macro, il y a deux choses qui se passent :
- Excel me demande d'enregistrer le document Word avant de le fermer (alors que je ne le modifie pas)
- Quel que soit mon choix, une fenêtre apparaît avec le message "Merci de patienter quelques instants le temps que Word termine l'impression" et ce message ne disparait pas, et le document n'est pas imprimé.
Auriez-vous une idée de l'erreur ?
Merci d'avance !
Cordialement,
Romain
Partager