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:
Merci d'avance
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
Partager