Bonjour à tous,
Je suis confronter à un nouveau problème:
j'ai un classeur Excel qui à besoin des références Word.
Le problème c'est qu'il peut etre ouvert sur Excel 2010 ou Excel 2003.
En fait c'est pour mon entreprise qui possède des ordinateur normaux avec des réseau dessus. Si on utilise Excel, c'est Excel 2010
Et des ordinateur dit TL (Terminaux Légers) qui ne possèdent pas de disque dur, cela va directemetn sur le réseau et tout s'ouvre avec 2003.
Du coup j'ai la référence Microsoft Word 14.0 sur Excel 2010 et Microsoft Word 9.0
Le problème c'est que lorsque je suis sur un TL, il n'arrive pas à activer la référence que je veux. Il dit qu'il ne la trouve pas... Elle est censée etre dans M:\program Files\Microsoft Office\Office\MSWORD9.OLE (c'est le chemin qui est marqué lorsque j'ai activé la référence) sauf que M:\program Files\Microsoft Office\Office\MSWORD9.OLE n'existe pas quand j'essaye de l'ouvrir. Ca doit être le disque dur de l'ordi qui n'existe pas... Y a -t-il un moyen de contourner le problème?
Autre problème si je n'active pas la référence Office 14.0 sur 2010 enregistre et ouvre via le TL, la référence Microsoft Office 9.0 n'apparait pas dans la liste des références...
en gros:
sous 2010: référence présente: uniquement microsoft word 14.0 chemin: C:\program Files\Microsoft Office\Office14\MSWORD.OL
sous TL: référence présente: uniquement microsoft word 9.0 chemin: M:\program Files\Microsoft Office\Office\MSWORD9.OLE
voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 If Val(Application.Version) < 12 Then 'Si version d'Excel via TL If Not ReferenceActive("Word") Then ActiverReference "MSWORD9.OLE" 'j'ai aussi essayé avec le chemin complet M:\program Files\Microsoft Office\Office\MSWORD9.OLE Else 'Si version d'Excel égale à 2007 ou supérieure If Not ReferenceActive("Word") Then ActiverReference "MSWORD.OL" End If
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub ActiverReference(NomComplet As String) ThisWorkbook.VBProject.References.AddFromFile NomComplet End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Function ReferenceActive(Nom As String) As Boolean Dim i As Integer Dim NbreRef As Integer NbreRef = ThisWorkbook.VBProject.References.Count For i = 1 To NbreRef If ThisWorkbook.VBProject.References(i).Name = Nom Then ReferenceActive = True Exit Function End If Next i End Function
Merci de votre aide
Partager