GeoTrouvePas
XLDnaute Impliqué
Bonjour tout le monde,
Je viens de développer une petite application qui nécessite l'activation de plusieurs DLL et contrôles ActiveX dès le démarrage. Dans la mesure où deux contrôles ActiveX ne sont pas systématiquement présents sur tous les postes, j'en ai mis une copie sur le réseau (lecteur P:\ dans l'exemple ci - dessous) et lorsqu'ils ne sont pas présents sur le poste, ma boucle les enregistre avec "regsvr32" puis les active.
Mon soucis est que ça ne fonctionne pas sur tous les postes et je n'arrive pas à savoir d'où vient le problème. Voici un "extrait" de ma boucle :
A noter que la fonction FichierExistant teste si un fichier existe et ReferenceActive teste si une référence est déjà activée (je sais ça paraît évident mais je préfère le préciser )
Auriez vous une idée sur la source de mon problème ?
Je vous remercie d'avance.
Je viens de développer une petite application qui nécessite l'activation de plusieurs DLL et contrôles ActiveX dès le démarrage. Dans la mesure où deux contrôles ActiveX ne sont pas systématiquement présents sur tous les postes, j'en ai mis une copie sur le réseau (lecteur P:\ dans l'exemple ci - dessous) et lorsqu'ils ne sont pas présents sur le poste, ma boucle les enregistre avec "regsvr32" puis les active.
Mon soucis est que ça ne fonctionne pas sur tous les postes et je n'arrive pas à savoir d'où vient le problème. Voici un "extrait" de ma boucle :
Code:
Sub ActiverReference()
If Not ReferenceActive("MSComCtl2") Then
If FichierExistant("C:\WINNT\system32\MSCOMCT2.OCX") Then
ThisWorkbook.VBProject.References.AddFromFile "C:\WINNT\system32\MSCOMCT2.OCX"
Else
Shell ("regsvr32 /s" & "P:\References\MSCOMCT2.OCX")
ThisWorkbook.VBProject.References.AddFromFile "P:\References\MSCOMCT2.OCX"
End If
End If
End sub
A noter que la fonction FichierExistant teste si un fichier existe et ReferenceActive teste si une référence est déjà activée (je sais ça paraît évident mais je préfère le préciser )
Auriez vous une idée sur la source de mon problème ?
Je vous remercie d'avance.