Bonjour,

Mon code permet d'exporter des données d'excel (2003) vers word.
Un doc. word est alors crée.

Si je réalise une seconde fois l'opération, lorsque le doc. word crée est déjà ouvert, le processus WINWORD.exe apparait dans le gestionnaire des tâches. (si le doc word n'est pas ouvert, je ne rencontre pas de problèmes).
Après plusieures tentatives, à l'aide des informations contenues dans le forum, le problème persiste.
Voici le code en question:


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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Private Sub CopieDansWord_Click()
 
'###############
'# Liaison avec word  #
'###############
 
Dim appword As New Word.Application
Dim docword As New Word.document
 
On Error GoTo traiter_erreur
 
'Saisie obligatoire 
'......
'......
 
'#################
'# Copier/Coller #
'#################
 
'Ajoute un nouveau document
With appword
    .Visible = False
    Set docword = .Documents.Add
    Application.ScreenUpdating = False
    docword.PageSetup.Orientation = wdOrientLandscape 'Mise en page paysage
End With
 
'Insertion d'un pied de page
'......
'......
 
'Ajoute une ligne de titre et la met en forme
'.......
'.......
 
'Copie le tableau excel "Jours ouvrés" dans le presse-papiers
     Range("B10:H30").copy
 
'Colle le tableau dans Word avec liaison
    .EndKey Unit:=wdLine
    .TypeParagraph
    .TypeParagraph
    .PasteSpecial Link:=True, DataType:=wdpastOLEObject, _
                  Placement:=wdInLine, DisplayAsIcon:=False
 
End With
 
Application.CutCopyMode = False
 
'####################
'# Enregistrer le Doc. Word  #
'####################
 
With docword
'Enregistre le document Word dans le même dossier que le classeur excel
laDate = Format(Sheets("Jours ouvrés").Range("C8"))
    .SaveAs ThisWorkbook.Path & "\Jours ouvrés" & " " & laDate & ".doc", _
            Allowsubstitutions:=True
End With
 
With appword
appword.Application.Quit
MsgBox "Jours ouvrées " & laDate & " est disponible dans le dossier TB B...."
End With
 
'Réinitialise l'objet
Set appword = Nothing
 
traiter_erreur:
    If Err.Number = 5356 Then
        MsgBox ("Impression impossible. Le document est déjà ouvert"), _
                vbExclamation, "Opération annulée"
        Application.DisplayAlerts = False
          End If
    Application.DisplayAlerts = True 
 
End Sub
Merci d'avance