Comment supprimer un control activeX

cs_rbn Messages postés 18 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 5 novembre 2010 - 8 mars 2010 à 22:00
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 9 mars 2010 à 20:59
Bonjour ;

Je viens de créer mes premiers contrôles activeX et souhaiterais connaître comment mettre à jour la liste des contrôles supplémentaires sous Excel VBA lorsque l'on a supprimé un de ces controles activeX. En effet, le fait de supprimer le fichier correspondant (fichier .ocx) ne supprime pas automatiquement ce contrôle de la liste des contrôles supplémentaires sous Excel VBA, ce qui me semble pourtant être le cas lorsque l'on désinstalle un contrôle activeX via une commande Regsvr32 /u c:\WINNT\system32\..... .ocx (pour un controle active X ayant été installé via une commande Regsvr32 c:\WINNT\system32\..... .ocx

Merci par avance pour votre aide

8 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
9 mars 2010 à 00:24
Salut
A mon avis, si le contrôle est dans la liste, c'est que le fichier associé existe toujours.
As-tu essayé de sélectionné l'ActiveX en question ? Y a t-il une erreur disant que le fichier n'existe pas ? L'activeX fonctionne t-il comme si de rien n'était ?
Vérifie à quel emplacement tu as mis le fichier, qu'il n'existerait pas un jumeau sur le répertoire stantard, C:\Windows\System32 (sous XP)
Enfin, après un reboot de la machine, apparait-il encore dans la liste ?
A quel emplacement as-tu généré (compilé) le composant ? sur le répertoire de ton application ou directement sous System32 ? Je n'en ai plus le souvenir, mais il y a de fortes chance que la version utilisée ("registrée") soit celle du répertoire de ton appli.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_rbn Messages postés 18 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 5 novembre 2010
9 mars 2010 à 08:55
Bonjour ;

Merci pour avoir répondu aussi vite.

En fait il ne s'agit que de la liste des contrôles supplémentaires qui ne se met pas à jour lorsque je supprime le fichier .ocx ; comme le contrôle activeX reste dans la liste, je peux toujours demander de l'installer sur la boite à outils et dans ce cas il m'indique "Inconnu" et si j'essaie de mettre ce contrôle sur un userform alors j'ai le message "classe non enregistrée", ce qui est normal.

Le problème concerne donc uniquement la mise à jour de la liste (suppression d'un contrôle n'existant plus), je suppose qu'il doit y avoir qlq part un fichier ou ??? qui gère cette liste de contrôles supplémentaires

Espérant avoir une réponse, bonne journée
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
9 mars 2010 à 15:05
Ok
A mon avis toujours, cette liste vient de la base de registres (BdR).
Donc, si tu as supprimé un OCX sans l'avoir UnRegistrerisé, il reste déclaré dans la BdR.

Il suffit peut-être de faire un coup de ménage dans la BdR :
- Certains utilitaires font ça bien, ou
- fais une sauvegarde de ta BdR (Export) puis fais une recherche dans la BdR du nom de ton composant fantôme et détruit les clés - Méfie-toi quand même.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 mars 2010 à 15:46
salut,

oui c'est çà. il est néanmoins plus prudent de "remettre" l'ocx supprimé à sa place d'origine, de unreg, et de supprimer

moins risqué....

++
[hr]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_rbn Messages postés 18 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 5 novembre 2010
9 mars 2010 à 17:48
Merci pour vos réponses ;

J'ai remis le fichier .ocx en lieu et place et ai exécuté la commande suivante
regsvr32 C:\Program Files\MicrosoftVisual Studio\VB98\CB_rbn\CB_Test.ocx /u
et j'ai obtenu le message suivant : Load library("C:\Program") à échoué - Le module spécifié est introuvable

Il y aurait il une erreur dans la commande exécuter ?

Merci pour votre aide
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 mars 2010 à 17:55
démarrer > executer >

regsvr32.exe -u "C:\Program Files\Microsoft Visual Studio\VB98\CB_rbn\CB_Test.ocx"
0
cs_rbn Messages postés 18 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 5 novembre 2010
9 mars 2010 à 18:24
C'est OK, merci pour votre aide

Juste pour clore le sujet installer/désinstaller un controle activeX, la commande d'installe (que je n'ai pas à exécuter suite à la création via VB6.0, mais qui sert lors d'installation de controles activeX existants) est sur la même base, c'est à dire ?

regsvr32.exe "C:\Program Files\Microsoft Visual Studio\VB98\CB_rbn\CB_Test.ocx"

Merci de confirmer

Et encore merci pour le coup de main
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 mars 2010 à 20:59
oui, précédé de -c (optionnel) pour installer, avec en plus -s pour le mode silencieux

comme pour toute commande DOS, suffit de taper d'ajouter \? pour avoir le détail

++
0
Rejoignez-nous