Comment supprimer un control activeX

Signaler
Messages postés
18
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
5 novembre 2010
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
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)
Messages postés
18
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
5 novembre 2010

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
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
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)
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
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]
Messages postés
18
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
5 novembre 2010

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
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
démarrer > executer >

regsvr32.exe -u "C:\Program Files\Microsoft Visual Studio\VB98\CB_rbn\CB_Test.ocx"
Messages postés
18
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
5 novembre 2010

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
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
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

++