[VBA] Compatibilité Office 10 & 11

Compatibilité Office 10 & 11 [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 02-03-2006 à 10:07:41    

Bonjour,
voilà mon souci !
 
J'aimerais depuis un fichier Word, générer et traiter des données dans un fichier Excel via du code VBA...
J'arrive à le gérer parfaitement sur mon poste muni d'Office 11 (Word et Excel 2003)...
--> pour cela j'ai dû ajouter la référence "Microsoft Excel 11.0 Object Library" qui renvoie à l'exécutable d'Excel (c:\program files\microsoft office\office11\excel.exe)...
 
Le problème est que ce fichier Word doit être installé sur certains postes munis d'Office 11, et certains autres munis d'Office 10 (Word et Excel 2000) !
L'appel de la référence va planter sur les postes munis d'Excel 2000 !!
 
Comment faire pour rendre mon code VBA compatible avec les 2 versions d'Excel ???
 
D'avance merci pour vos réponses... ;)

Reply

Marsh Posté le 02-03-2006 à 10:07:41   

Reply

Marsh Posté le 02-03-2006 à 21:54:52    

Bonjour,
 
Pour ajouter une référence excel à word, tout au moins sur 97 le fichier à charger est excelX.OLB et non pas excel.exe.
Je propose le code qui va charger toutes les références possibles à partir d'office 97 et ne conserver que la première qui est bonne.
 
    Dim i As Integer
    Dim x As Object
    Set x = ThisDocument.VBProject.References
    For i = 8 To 11
        On Error Resume Next
        x.AddFromFile Application.Path & Application.PathSeparator & "EXCEL" & Trim(Str(i)) & ".OLB"
    Next i
 
Cela fonctionne en word 97. A voir si le nom de fichier n'est pas modifié sur excel 2003
 
Bon courage
Epena

Reply

Marsh Posté le 06-03-2006 à 10:23:22    

Merci beaucoup pour ta réponse !
Je vais tester ta solution !

Reply

Marsh Posté le 27-03-2006 à 16:39:31    

Lorsque j'exécute ce code, il me met cette erreur :
"L'accès programmatique à visual basic project n'est pas approuvé !"
à la ligne "Set x = ThisDocument.VBProject.References" !!!!
 
Problème de droits ???
Je trouve rien sur le net qui puisse m'aider sur cette erreur !

Reply

Marsh Posté le 27-03-2006 à 16:51:24    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed