Problème de référence sur une DLL sur application VBA Excel
cs_rlapt
Messages postés63Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention25 juin 2013
-
9 déc. 2012 à 19:41
cs_rlapt
Messages postés63Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention25 juin 2013
-
10 déc. 2012 à 12:56
Bonsoir,
Je pense avoir un problème de référence sur une DLL sur une application VBA-Excel.
Je souhaite créer de façon dynamique un contrôle REFEDIT dans une userform.
Si je le place à l'aide de l'éditeur visual basic. Pas de problème. Ca fonctionne.
par programme j'utilise la syntaxe suivante pour ajouter ce contrôle :
Set Contrôle = Me.Controls.Add("RefEdit.Ctrl", "SCO_RE_Sel" & Format(NbreConditions, "00"), True)
Une erreur apparait sur cette ligne (Erreur d'exécution - Elément introuvable) lors du déroulement du programme.
La DLL est placée dans les répertoires "C:\Program Files\Microsoft Office\Office14" et "Office12".
De plus sous l'editeur visual basic, j'ai mis en référence cette DLL (REFEDIT.DLL) référencée avec les commandes suivantes :
Comme les devins sont en vacance, la seule chose que l'on peut dire c'est que de nombreux contrôles ocx n'ont pas été (re)compilés pour les systèmes à 64 bits. Mais là, la question c'est le noir complet.
Il y a bien cela, et cela mais je ne les ai pas sous la main actuellement pour essayer.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018220 9 déc. 2012 à 21:46
Bonjour,
Essaye (juste pour voir) non de mettre cette dll ici (dans program files) où là : dans system32, mais de pointer vers là où elle est, en ajoutant la référence de manière dynamique, ainsi :
Dim lesRefs As Object
Set lesRefs = ThisWorkbook.VBProject.References
On Error Resume Next
If Val(Application.Version) >= 12 Then
lesRefs.Addfromfile "C:\Program Files (x86)\Microsoft Office\Office12\refedit.dll"
Else
lesRefs.Addfromfile "C:\Program Files\Microsoft Office\Office\refedit.dll"
End If
On Error goto 0
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
cs_rlapt
Messages postés63Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention25 juin 2013 10 déc. 2012 à 12:56
Bonjour,
Merci de vous intéresser à mon problème et de vos réponses.
Pour la réponse de cmarcotte une information supplémentaire : mon système vista est un 32 bit.
De plus j'ai fait la même mani sur XP après rechargement du système d'exploitation même problème.
Pour la réponse de ucfoutu pas d'amélioration.
L'application en question tourne depuis plusieurs années sur un vingtaine de postes sans problème (XP 32 et 64, W7 32 et 64) et tournait sur mes ordis personnels (XP 32, Vista 32) avant rechargement des systèmes d'exploitation.
Je me demande si cela ne provient pas des ajouts de sécurité Microsoft.
Si vous avez des idées, je suis preneur. Sinon, j'essayerai de recharger une nouvelle fois le système.