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 :
Cette erreur se manifeste sur certains ordinateurs mais pas sur d'autres.
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).
Or sur le PC d'autres personnes à qui est destinée cette macro, le code bloque sur la ligne suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Set WordApp = CreateObject("Word.Application")
Je pense que je n'apprends rien à personne vu mon titre...

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 :
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
En espérant avoir été clair dans la description de mon problème, je reste à votre entière disposition pour tout complément.
Je vous remercie par avance pour toute piste.

Cordialement,
Kimy