Bonjour,
voilà mon objectif:

j'ai un fichier Excel qui génère un documents Word, ce fichier est utilisé par toute une équipe qui travaillent en réseau pour mettre à jour ce fichier.
or depuis peu on est en train de migrer vers office 2010, mais pas tous en même temps.donc il faut que ce fichier fonctionne aussi bien dans les deux environnement.
pour génèrer du word les macros ont besoin de la référence "Microsoft Word", qui n'est pas la même dans les deux cas bien sûr.

pour m'en sortir j'ai fait cette petite routine pour initialiser la bonne référence suivant le bon cas de figure.

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
 
 
chem_2000 = "C:\Program Files\Microsoft Office\Office12\MSWORD.OLB"
chem_2010 = "C:\Program Files\Microsoft Office\Office14\MSWORD.OLB"
 
 
ver_office = Application.Version
 
 
If ver_office = "9.0" Then
On Error Resume Next
 With ThisWorkbook.VBProject.References
 Application.DisplayAlerts = False
 .AddFromFile chem_2000
 End With
 Application.DisplayAlerts = True
End If
 
If ver_office = "14.0" Then
On Error Resume Next
 With ThisWorkbook.VBProject.References
 Application.DisplayAlerts = False
 .AddFromFile chem_2010
 End With
 Application.DisplayAlerts = True
End If
mon problème vient du fait que ça marche bien pour office 2000, mais pas sur office 2010, rien ne plante dans cette macro mais la référence n'est pas cochée et la routine de création du fichier word plante;

le fichier existe bien là où je le défini.

quelqu'un a t'il une idée ?