Problème avec DLL Refedit.dll

rudymagny

XLDnaute Occasionnel
Bonjour le forum,
Voilà je rencontre un problème avec la DLL Refedit.dll.

J'ai un fichier excel avec des userform qui fonctionne très bien sous mon pc à la maison (Excel 2003) et au boulot (excel 2003)

Je viens de passer à vista à la maison et j'ai installé Office 2007!

Mon problème est que si je retouche ma macro à la maison, le refedit.dll se trouve sous (vista 64bit):
C:\Program Files (x86)\Microsoft Office\Office12\refedit.dll
et ça marche à la maison!

Mais arrivé au boulot, lorsque j'ouvre mon fichier, il me met "erreur de chargement DLL" et en fait la DLL se trouve sous un autre répertoire:
C:\Program Files\Microsoft Office\Office\refedit.dll

Comment puis je m'en sortir pour pouvoir développer à la maison sous excel 2007 et que ça tourne correctement au boulot (excel 2003)??

Merci d'avance
 
Dernière édition:
G

Guest

Guest
Re : Problème avec DLL Refedit.dll

Bonsoir RudyMagny,

Essaie en insérant ces lignes en début de macro qui lance le userform:

Code:
   Dim vbRefs As Object
   Set vbRefs = ThisWorkbook.VBProject.References
   On Error Resume Next
   If Val(Application.Version) >= 12 Then
        vbRefs.Addfromfile "C:\Program Files (x86)\Microsoft Office\Office12\refedit.dll"
   Else
        vbRefs.Addfromfile "C:\Program Files\Microsoft Office\Office\refedit.dll"
   End If
   On Error Resume Next

Cette macro essaiera d'installer la référence en fonction de la version excel >=12 (2007) et les autres.

Il faudra que sur les deux version tu fouilles dans les options de sécurité des macros pour cocher 'Faire confiance au projet Visual Basic'. pour 2003
Options/Sécurité/sécurité des macros onglet sources fiables.

et 2007 onglet devellopeur,sécurité des macro 'Accès approuvé au modèle d'objet du projet VBA'

Si la référence est déjà installée, une erreur est levée ce qui explique le
on error resume next.


A+
 

JerCaz

XLDnaute Occasionnel
Re : Problème avec DLL Refedit.dll

Bonjour le forum!

Tout d'abord, désolé de "déterrer" un si vieux sujet, mais le problème que je rencontre se rapproche de celui-ci...

En effet, sur mon lieu professionnel, certains utilisateurs ont des postes installés en office XP, d'autres en office 2003, et d'autres encore (très rares... juste les directeurs....) en office 2007.

J'ai réalisé (grâce à votre aide précieuse) une application sous excel qui envoie selon certains critères un mail via outlook.
Pour cela, j'ai dû activer dans les références VBA "microsoft outllook object library".

Mon problème, c'est que lorsqu'un utilisateur d'office 2003 utilise et sauvegarde le fichier, les utilisateurs d'office 2002 rencontrent ensuite un message d'erreur, et leur "microsoft outlook object library" devient "MANQUANT"...

La macro proposée par Hasco le 21/11/2008 à 19h35 permet de cocher automatiquement, selon la version d'office installée sur le PC, le bon "refedit.dll". (qui se trouve dans "C:\Program Files\Microsoft Office\Office10\refedit.dll" ou "C:\Program Files\Microsoft Office\Office11\refedit.dll" ou "C:\Program Files (x86)\Microsoft Office\Office12\refedit.dll" selon les versions installées sur les différentes machines).
Alors, bien sûr, je suis allé faire un tour dans "C:\Program Files\[...]\", mais là, pour moi, c'est du patois mandarin du nord-ouest!

Est-ce possible de faire en sorte de cocher, par macro, cette référence, selon la bonne version installée sur la machine?
Si oui, un pro saurait-il m'aider? Si non, un pro pourrait-il m'aider à contourner ce fichu problème?

Vous remerciant par avance de toute l'aide ou de la réponse que vous m'apporterez, et encore une fois, désolé de sortir des abysses un si vieux sujet...

Très cordiallement,

Jérôme.
 

Discussions similaires

Réponses
4
Affichages
312

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin