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)

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
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 ^^).

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