Bonjour,
Je rencontre actuellement un problème avec word 2010 que je ne rencontrai pas avec word 2003 et je souhaiterais solliciter votre aide pour avancer car je bloque...

J'ai créé un modèle Test.dotm
Dans ce modèle j'ai créé un module contenant la méthode Test : cette méthode a pour but d'ouvrir un document (ici G:\8888.docm) et de fermer ensuite tous les autres documents ouverts ayant pour template Test.dotm.

Pratiquement, on ouvre Test.dotm, on excecute la macro "Test" et au final cela ouvre le document 8888.docm et ferme le document initialement ouvert.

Voici le code :

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
 
Sub Test()
    Dim Doc As Document
    Dim bAnnuler As Boolean
    Dim rep As Integer
    Dim listeDocsAFermer As New Collection
 
 
    On Error GoTo ErrorHandler
 
    For i = 1 To Documents.Count
        Set Doc = Documents(i)
        If UCase(Doc.AttachedTemplate) = "TEST.DOTM" Then
            listeDocsAFermer.Add Doc
            If Not Doc.Saved Then
                If vbNo = MsgBox("Vous allez perdre les modifications effectuées dans le fichier " & Doc.Name & vbLf & " Voulez vous continuer ?" _
                        , vbYesNo + vbDefaultButton2 + vbExclamation, "Charger une petite loi") Then
                    MsgBox "Veuillez sauvegarder d'abord le fichiers " & Doc.Name, vbOKOnly + vbInformation, "Charger un document"
                    fDispo.Hide
                    Exit Sub
                End If
            End If
        End If
    Next
 
  Dim strFile As String
  Dim fs
  Set fs = CreateObject("Scripting.FileSystemObject")
  If fs.FileExists("G:\8888.docm") Then
    Call Documents.Open("G:\8888.docm")
    Documents.Item("G:\8888.docm").Activate
    Documents.Item("G:\8888.docm").AttachedTemplate = "Test.dotm"
  Else
    MsgBox "Doc existe pas"
  End If
 
 
    For i = 1 To listeDocsAFermer.Count
        Set Doc = listeDocsAFermer(i)
        MsgBox "name = " & Doc.Name
        Doc.Close wdDoNotSaveChanges
    Next
 
 
    Exit Sub
ErrorHandler:
     MsgBox "Erreur : " & Err
End Sub
Mon problème est que cela fonctionnait bien sous word 2003 (pour s'en assurer il suffit de recopier cette macro dans un modèle sous word 2003 en changeant les extensions "dotm" par "dot" et "docm" par "doc").

Là mon word crash en affichant le message suivant :

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
Microsoft word a cesser de fonctionner
windows peut rechercher une solution au problème en ligne et essayer de récupérer vos informations et de redémarrer le programme
-> Rechercher une solution en ligne et redémarrer le programme
-> Redémarrer le programme

Signature du problème*:
  Nom d’événement de problème:	APPCRASH
  Nom de l’application:	WINWORD.EXE
  Version de l’application:	14.0.6024.1000
  Horodatage de l’application:	4d83e310
  Nom du module par défaut:	VBE7.DLL
  Version du module par défaut:	7.0.16.19
  Horodateur du module par défaut:	4d430aec
  Code de l’exception:	c0000005
  Décalage de l’erreur:	00163e60
  Version du système:	6.1.7601.2.1.0.256.49
  Identificateur de paramètres régionaux:	1036

Informations supplémentaires sur le problème*:
  LCID:	1036
  skulcid:	1036

Lire notre déclaration de confidentialité en ligne*:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x040c

Si la déclaration de confidentialité en ligne n’est pas disponible, lisez la version hors connexion*:
  C:\Windows\system32\fr-FR\erofflps.txt
Est ce que quelqu'un pourrait tester ma macro Test et me dire s'il rencontre le même plantage ?

Si oui, auriez vous des pistes car je sèche ...

Merci d'avance.