Bonjour à tous,
J'ai une question concernant la (les) référence(s) Microsoft Word XX.0 Object Library et sa méthode CreateObject("Word.Application"). J'utilise personnellement la 12.0 avec Excel 2007.
J'ai regardé beaucoup d'éléments traitant du sujet mais je ne suis pas parvenu a gérer le problème.
Comme stipulé ici : http://support.microsoft.com/kb/244264/fr, je suis bien dans le cas suivant :Sur mon PC, la macro passe sans problème et créer bien l'application Word, ouvre le document souhaité et réalise les actions (récupération des titres et de leur hiérarchie en fonction des tableaux situés dans le document).Cette erreur se manifeste sur certains ordinateurs mais pas sur d'autres.
Or sur le PC d'autres personnes à qui est destinée cette macro, le code bloque sur la ligne suivante :
Je pense que je n'apprends rien à personne vu mon titre...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set WordApp = CreateObject("Word.Application")
Mon "WordApp" a été défini de plusieurs manières. J'ai essayé :
- "Dim WordApp As Word.Application"
- "Dim WordApp As New Word.Application"
- "Dim WordApp As Object"
... rien n'y fait, sur la même version d'Excel que moi j'ai l'erreur d'exécution 429 : Un composant ActiveX ne peut pas créer d'objet.
Bien entendu, j'ai vérifié que les librairies nécessaires étaient bien cochées.
Je pense qu'il y a quelque chose qui m'échappe concernant ce problème.
Je vous place le début de mon code dans lequel j'ai p-e commis une erreur :
En espérant avoir été clair dans la description de mon problème, je reste à votre entière disposition pour tout complément.
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 Sub Ouv_Word() Dim WordApp As Word.Application Dim WordDoc As Word.Document 'Autres variables 'Initialisation des variables initialisation ReDim Last_listTitre(0) With feuilleResult Set currentCell = .Range("A7") End With WordChem = feuilleResult.Range(CONST_CHEMIN).Value On Error Resume Next Set WordApp = GetObject(, "Word.Application") 'Set WordApp = CreateObject("word.application") Set WordDoc = WordApp.Documents(WordChem) On Error GoTo 0 If WordDoc Is Nothing Then MsgBox "Le document est fermé" Set WordApp = CreateObject("Word.Application") Set WordDoc = WordApp.Documents.Open(WordChem) WordApp.Visible = True Else MsgBox "Le document est ouvert" End If Set oFind = WordApp.Selection.Find 'suite... WordDoc.Close 'Fermeture du document Word WordApp.Quit 'Fermeture de l'application Word Set WordApp = Nothing End Sub
Je vous remercie par avance pour toute piste.
Cordialement,
Kimy
Partager