begin process at 2012 02 17 11:23:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Windows

 > 

ActiveX / COM

 > 

A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX

mercredi 18 mars 2009 à 03:43:17 | A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX

Trebly2

[applicable aussi Office 2003, 2007 et VBA, et composants - contrôles - VB6 utilisés en VBA]

Bonjour,

J'avais rencontré ce problème il y a longtemps quand MS avait supprimé pour des raisons de sécurité l'utilisation de la "RichTextBox" (voir sujet correspondant)

Aujourd'hui je relance après une non utilisation exceptionnelle de plusieurs mois, une grosse application VBA (+70 000 lignes de code, pour 500 routines en 25 modules et 50 forms + objets spécifiques) et plus rien ne passe.

Après une recherche assez brève je découvre que les contrôles MsFlexGrid et MSHFlexGrid donc "msflxgrd.ocx" et "mshflxgd.ocx" ont disparu de l'application (absents de forms).
Donc la compilation ne reconnait plus les variables objets dans les routines correspondantes.

Si l'on essaye de les replacer dans les forms dont cesz contrôles ont disparu on obtient le message laconique (sans code erreur : "Le sujet n'est pas approuvé pour l'action spécifiée".

Après un examen de la Base de Registre, j'ai pu vérifier que ces composants sont "enregistrés, référencés" plusieurs fois, c'est normal puisque ma machine comprend pas mal d'outils de développement qui utilisent ces composants.

Je soupçonne donc une incohérence, avec des test de sécurité nouveaux dans XP SP3 (seul changement majeur a priori sur ma machine).
Comme je fais toujours faire une vérification dans d'autres environnements avant d'émettre ce type de message, le premier test est celui effectué
par un ami proche (poids lourd du domaine) a fait les test dans son propre environnement (office 2007 et VB2005 et non 2003 pour moi, ainsi .net complet, test dito avec VB6) et le résultat est identique tous systèmes confondus (fonctionnent par contre si l'on utilise VB6 seul).

Ces composants essentiels et qui n'ont aucun équivalent ne sont plus utilisables pour les applis sous Office (VBA ou .net), ceci dans des conditions inconnues.

Ce qui est tout de même à nouveau plus qu'irritant de la part de Microsoft et même franchement intolérable est le caractère laconique de l'info et la désinvolture vis à vis de ses clients (contraints), la conséquence étant l'arrêt total d'applications, le verrouillage semblant supprimer purement et simplement vos contrôles de vos applis (faire bien ses backups, car si vous sauvegardez malencontreusement... le danger est là).

Merci d'avance pour toute info sur le sujet (le Web ne donne rien, MS non plus, ou du moins je n'ai pas trouvé, sauf mon message sur richtextbox qui sort en tête sur Google). En particulier les clefs assez complexes de leur enregistrement dans la BDR (je ne suis pas suffisamment expert dans leur structure) anciennes ou nouvelles qui peuvent bloquer l'usage de ces composants de cette manière particulièrement brutale et dommageable pour les utilisateurs.


Trebly
dimanche 5 juillet 2009 à 00:50:00 | Re : A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX

Londonic

Peut-être le nouveau compilateur cherche le fichier à une adresse enregistrée dans un fichier de config, et enregistre seulement l'adresse de la config dans le registre, peut-être... Pourquoi pas un dossier.bin du config de la base dans un projet. Facile de faire un registre avec un viewtree. 
Chez Microsoft, le pire c'est de gérer la souris dans un Viewport. Il faudrait remplacer un de ses ancêtres par un PictureBox, mais désinvolture Laconique c'est gentil.
Et c'est vrai que la BDR est un gros B de R... , qu'il vaut mieux consacrer une machine au studio de développement ou aller chez Linux avec une arborescence de dossier au lieu de ce ridicule index de texte multiracines de clefs arborescentes.
Peut-être en spécifiant des actions abordables par le sujet. Qui sait ?
vendredi 10 juillet 2009 à 19:38:24 | Re : A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX

Trebly2

Bonjour,

Je reviens avec la solution qui m'a couté un bon paquet d'heures (j'ai bien du passer 50h sur pb).
Sollicité hier par un membre qui m'a envoyé un message perso, une annulation de RV me donne le temps de rédiger une petite synthèse.

Le message brutal et laconique "Le sujet n'est pas approuvé pour l'action spécifiée" résulte d'une pile d'erreurs et, sans signification claire, se produit à l'ouverture des macros complémentaires.
Aucune compilation n'est possible. Il n'y a accès à aucune information qui puisse mettre sur une piste quelconque.
Une PME qui utilise depuis des années Office 2003 et a développé ses propres outils ee gestion en VBA peut se retrouver sans gestion commerciale, sans facturation etc....

Le problème est le suivant (résumé de principe inutile de rentrer dans les détails, ref etc) :
pour des raisons de sécurité une mise à jour de sécurité vient invalider plusieurs OCX du VBA d'office 2003 et en fait l'ensemble des bibliothèques qui les contiennent.
Il s'ensuit d'énormes trous de composants.
Le compilateur ne comprend plus rien puisqu'il lui manque beaucoup de références.
Le système est donc bloqué et aucune démarche logique de recherche d'anomalie à partir du ou des messages (évolutifs...) ne peut aboutir.

Solution :
-Il  faut passer absolument toutes les mises à jour de sécurité de Windows
- Il faut ensuite passertoutes les mises à jour d'office 2003 : le dernier sp + les mise à jour de sécurité récentes
- par sécurité installer enfin les outils de développement "libre" de MS "Microsoft Visual Basic 2008 Express Edition", ainsi vous récupérerez les dernières versions des OCX sécurisés.

Lorsque vous relancerez vos macros cela devrait aller beaucoup mieux.
Au pire (c'est à dire une compilation qui se plante sur une instruction lambda) recherchez dans les références les "MANQUANTE" et réinstallez les. En cas de doute l'observateur d'objets vous aidera, pour trouver les noms d'objets appartenant à des OCX ou DLL manquantes. En principe pas avec la bibliothèque Microsoft.

L'ordre des opérations assure la fiabilité de la procédure vis à vis de la BdR, en effet il faut que les références soient mises à jour dans le bon ordre.
- les mises à jour de sécurité invalident ce qu'il faut et interdisent de se tromper de référence.
- les mises à jour Office vous installeront avec les bons CSID les dernières bibliothèques VBA sécurisées.
- enfin "goodies" et "améliorations" plusieurs compléments améliorations et facilités seront apportés par "Microsoft Visual Basic 2008 Express Edition".

Les objets disparus dans les forms réapparaitront etc...
Après les bonnes mises à jour, j'ai pas loin de 100k instructions qui se sont remises à fonctionner en totalité.

Attention :
des sauvegardes (intempestives) de macros pendant la période d'instabilité peuvent générer des dégraissages fâcheux, repartir alors de la dernière version ayant fonctionné normalement.

Bonne chance
Cordialement

Trebly

Nota: vous retrouverez
j'espère en septembre des synthèses sur les différents sujets que j'ai pu et continuerai à traiter sur les forums d'aide mais avec des exemples complets, des blogs, copies d'écrans et téléchargements actuellement dispersées sur mon site http://trebly.info (non encore ouvert)
jeudi 23 juillet 2009 à 11:17:07 | Re : A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX

debethune

bonjour,

merci pour ces infos !
je suis novice et ai développé une petite macro qui communique avec le port série grâce à MSCOMM32.OCX.
j'ai malheureusement laisser windows faire ses mise à jour automatiques et depuis je n'ai plus le contrôle MScomm. et lorsque j'essaie d'en créer un nouveau ce fameux message "Le sujet n'est pas approuvé pour l'action spécifiée" !!!

je suis en train de mettre windows et office à jour !!! en espérant que ca règle mes problèmes !!

je vous tiens au courant !
merci encore

bertrand

jeudi 23 juillet 2009 à 15:56:49 | Re : A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX

Londonic



Et que la macro pourrait faire réapparaitre les contrôles MsFlexGrid et MSHFlexGrid donc "msflxgrd.ocx" et "mshflxgd.ocx" qui ont disparu de l'application (absents de forms).
Ca serait bien!

jeudi 23 juillet 2009 à 16:21:02 | Re : A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX

debethune

Salut,

MERCI pour ta réponse rapide !

il n'y a rien de spécial dans ma macro : simplement communiquer avec le port COM1 + faire un graph Excel...
mais le problème est réglé : après quelques manips infructueuses (j'ai d'abord suivi à la lettre tes indications puis réinstaller OFFICE, backup des MàJ windows...) j'ai réinstallé windows et CA MARCHE !!!
j'ai aussi bien sur désactive les MàJ automatiques qui ne servent à rien sur le PC qui fait tourner cette appli' !

heureusement que je suis tombé sur tes explications sans quoi j'aurai cherché...... longtemps... longtemps...

bref ! un grand merci à tous ceux qui postent des tutos, codes, problèmes sur vbfrance. étant 100% autodidacte, je n'aurai jamais pu développer les nombreuses applications qui tournent ici (Excel, Solidworks, COM port serie, outlook, carte d'acquisition graphique, etc...)!!! il serait peut être temps que je partage mes quelques codes (sans doute encore trop "déstructurés")...

à la prochaine j'espère...
bertrand

jeudi 23 juillet 2009 à 17:53:23 | Re : A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX

Londonic

Oui! bien besoin de structures. Depuis qu'on les a remplacées par des classes, on sait plus comment hiérarchiser ses dossiers. Faut revenir à dADA.
Et Faut poster.

vendredi 24 juillet 2009 à 00:16:08 | Re : A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX

Trebly2


Bonsoir,

Je confirme que tant que les bibliothèques ne sont pas validées les contrôles correspondants à leur contenu disparaissent des forms affichées (mais elle sont toujours dans le code si vous n'enregistrez pas, par contre jamais vos procédure associées aux objets ne seront touchées).
Si l'on n'enregistre pas, elles réapparaitront normalement après validation des bibliothèques.
Il s'agit tout particulièrement de richtext, msflexgrid, mshflexgrid (90% des cas).

Bien sur contrairement au cas d'utilisation d'outils qui neutralisent les invalidations vous aurez des applications plus robustes.
La sécurité ça coute cher et le paradoxe est qu'une faille mineure n'a pas d'importance tant qu'elle n'est pas découverte par les hackers et autres espions, par contre ensuite ce sont des trous béants dans le système que l'on doit fermer de toute urgence.
Si vous êtes une PME qui fait de la recherche vous n'imaginez pas les risques que vous prenez.
Donc SVP appliquez bien les mises à jour de sécurité même c'est un peu, voire passablement fastidieux et énervant.
Enfin, c'est le prix à payer.
Notez enfin qu'un système vieillit assez vite et la cohérence des mise à jour est un problème très complexe. Donc SVP passez les mises à jour régulièrement vous aurez un système plus stable.

Les mises à jour automatiques suivant l'usage des systèmes peut être gênante (développeurs) donc prévoyez un créneau de temps, faites vos sauvegardes système (pour ma part je sépare toujours le système de données dans des partitions différentes), puis faites vous un plan de mises à jour (lisez même rapidement les fiches associées, vous pourrez programmer efficacement vos test) puis définissez des test essentiels associés puis passez les mises à jour, renseignez vous. Cela vous évitera de nombreux incidents couteux.

le thème en cours, où je me suis moi-même laissé piéger en est un bon exemple.

A bientôt

Trebly

vendredi 24 juillet 2009 à 08:20:50 | Re : A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX

Londonic

Sauvegarder la prochaine fois que je passe à Londres. Merci Trebly !

Pour la mise à jour de W7, j'attendrais la génération de prises SATA qui permettra d'installer Microsoft sur disque externe.
En Attendant, Dos est toujours lisible sur Vista directement sans W31.(sur Os, il faut installer toutes les versions intermédiaires.)

mercredi 16 septembre 2009 à 18:19:37 | Re : A nouveau : Win erreur : "Le sujet n'est pas approuvé pour l'action spécifiée" sur OCX

lannoyge

Merci Trebly pour toutes ces infos, je viens de passer une journée sur le net et sur mon invite de commande à faires regsvr32.exe etc...
En effet très peu d'infos là dessu, c'est vraiment dingue.

Bonne continuation.


1 2

Cette discussion est classée dans : vba, ocx, sujet, composants, contrôles


Répondre à ce message

Sujets en rapport avec ce message

Evènement sous VBA Word [ par Tommy ] Bonjour,Sous VBA Word, j'ajoute de façon dynamique des checkbox. Jusque là pas de problème.Par contre comment fait on pour intercepter les évènements Création dynamique de contrôles dans un OCX [ par jm6fr ] Bonjour.Je cherche à créer un OCX dans lequel doivent se créer les labels et boites de texte correspondant aux champ d'une table connectée. La connexi Fermeture de Word et enregistrement [ par Lofo ] Bonjour a tous,Je debute actuellement en vba, et malgre mes recherches concernant ce sujet je n ai pas trouver de solution a mon probleme qui est:Lors Création de contrôle [ par redee ] Bonjour,J'aimerais savoir si c'est possible dans Access de créer des contrôles (Boutons de commande, étiquettes, etc.) en VBA.En fait, je voudrais exé runtime 7 error [ par mythic_kruger ] Runtime 7 error: "Not enough memory".J' ai distribué mon appli avec tous les contrôles, ils sont enregistrés avec regsvr32. Ca marche pour tout le mon ajouter la reference d'une ocx dans excel en vba [ par Martaboule ] Bonjour,bon voila je débute et tente de développer à titre amateur queslques applis en vb et vba, j'ai cherché pas mal sur le forum et ailleurs aussi CATIA et VBA [ par CdXie ] Je souhaite permettre à l'utilisateur de sélectionner un fichier et un répertoire à partir d'une Macro VBA sous CATIA V5. Bon normalement c facile sau Demande d'aide en VBA sur ACCESS [ par tchoukette ] Rebonjour,J'ai un probleme de calculs:J'ai une table détaillant tous les composants et leurs quantités dans un projet, le problème  c'est que certains [VBA Access] Formulaire dynamique [ par sopi ] Hello !Je dois créer dynamiquement un formulaire sous Access que les contrôles s'adaptent au nombre de données que j'ai.Ca pas de problèmes, mais cont


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales