IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Port Serie MSComm " le sujet n'est pas approuvé pour l'action spécifiée" [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Port Serie MSComm " le sujet n'est pas approuvé pour l'action spécifiée"
    Bonjour à tous,

    Dans mon programme en VBA je souhaite pouvoir écrire et lire sur le port COM n°1 avec les commandes suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     'Vider le buffer
            MSComm1.InBufferCount = 0
            'choisir un port série
            MSComm1.CommPort = 1 ' 1 est le n° de port que vous pouvez modifier
            'ouvre le port
            MSComm1.PortOpen = True
            'ecriture de a sur le port com 1
            MSComm1.Output = "a"
            'Ferme le Port
            MSComm1.PortOpen = False
    Néanmoins pour cela il faut pouvoir insérer dans le userform le MSComm (icone téléphone) ou aussi appelé Microsoft Communications Control.
    J'y ai accès dans ma boite à outils car j'ai installé XL_RS232, c'était déjà un bon début.

    Malheureusement, dès que j'essaye de le faire glisser dans le userform une fenêtre s'ouvre et m'indique: "le sujet n'est pas approuvé pour l'action spécifiée" et ne peut donc pas le mettre en place...

    Après beaucoup de recherches infructueuses sur internet je me suis décidé à poster mon problème ici...
    En espérant trouver un sauveur.

    Clem.

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    sécurité microsoft il me semble : le composant disposant de vulnérabilité non corrigée ... ils ont donc pondu une clé dans le registre qui bloque ce que tu veux faire

    il faut lever la restriction dans l'éditeur de registre
    recherche le dossier : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveXCompatibility\{648A5600-2C6E-101B-82B6-000000000014}

    tu y trouveras une clé appelée "Compatibility Flags" : tu passes la valeur à 0

    ceci est valable pour Windows 32 Bits, si tu es en 64 Bits le chemin est quasiment identique mais je n'ai pas le chemin à disposition

    attention à deux points :

    - lever une restriction pour cause de vulnérabilité, il faut peser le pour et le contre
    - chaque mise à jour de ton OS peut basculer à nouveau la clé à la valeur 400 ... qu'il faudra remodifier

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Ah mince j'ai oublié de préciser que j'ai déjà fait cette manipulation...

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Tu as bien vérifié qu'aucune référence ou bibliothèque n'était manquante, malgré l'ajout que tu as fais ?

    Tu as tenté de modifier la clé via l'invite de commande (en mode administrateur) ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Oui effectivement j'ai modifié le regedit en admin. J'ai également fait des maj sur les références mais rien ne change...
    Toujours le message d'erreur...

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    J'ai comme la vague impression que tu affrontes le système des licences de VB6. Les contrôles de VB6, pour protéger l'investissement des développeurs qui payaient VB6 pas mal plus cher que Visual Studio Community (gratuit), sont munis d'une licence double. Une licence pour le mode développement et une licence pour le mode exécution. Également, le CLUF de VB6 interdit (interdisait) de diffuser certains contrôles, comme ListView, Calendar MsComm et quelques autres, autrement que comme parties d'une application compilée.

    Cela veut (voulait) donc dire que pour pouvoir utiliser ces contrôles en VBA, il faut (fallait) que VB6 soit installé, ou, avec un peu de chance, ait déjà été installé, sur la machine.

    J'ai comme l'impression que tu vas devoir oublier MsComm.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    S'il est impossible d'utiliser MSComm il me faut trouver un palliatif niveau logiciel car je suis obligé de pouvoir écrire et lire sur le port COM (sur une carte arduino plus précisément).

    Quels logiciels niveau code sont les plus ressemblant ?
    Je crois que l'on peut faire ce genre de programme sur du java mais le code n'est pas le même...

    Clem

  8. #8
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    En dernier ressort, essaye d'installer la version gratuite de visual studio

    sait-on jamais ...

  9. #9
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    Citation Envoyé par conrad1218 Voir le message
    S'il est impossible d'utiliser MSComm il me faut trouver un palliatif niveau logiciel car je suis obligé de pouvoir écrire et lire sur le port COM (sur une carte arduino plus précisément).

    Quels logiciels niveau code sont les plus ressemblant ?
    Je crois que l'on peut faire ce genre de programme sur du java mais le code n'est pas le même...

    Clem
    Cela devrait pouvoir se faire en utilisant l'API Windows. Après tout, un contrôle c'est juste l'encapsulage des appels à l'API dans un programme tout fait.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    clementmarcotte,

    Je ne vois pas du tout à quoi tu fais référence...

    Clem

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Bonjour à tous,

    Après de nombreuses heures de recherches j'ai enfin trouvé la solution tout en conservant Excel 2007.
    En effet il existe un autre composant permettant de gérer les ports COM !
    C'est le "NETComm" disponible sur ce site : https://home.comcast.net/~hardandsof...NETCommOCX.htm (il faut download la version w7 si vous êtes sur w8)
    Une explication est également donné ici : http://www.pencomdesign.com/support/...xample_net.htm

    Pour ma part j'ai essayé et ça fonctionne parfaitement.

    Bon courage et merci de m'avoir répondu.
    Clem

  12. #12
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par conrad1218 Voir le message
    clementmarcotte,

    Je ne vois pas du tout à quoi tu fais référence...

    Clem
    En gros, c'est un imposant ensemble de fonctions de bas niveau qui font le lien entre les programmes de toutes sortes et, Windows, dans notre cas. VBA permet de les utiliser directement, même si cela peut représenter un certain danger et que ce n'est généralement pas (plus) conseillé. Mais dans VBA et peut-être aussi dans VB.net, mais dans une moindre mesure, il y a encore des choses qu'il faut faire avec l'API, comme changer le fond d'écran. Pour le faire avec VBA, il faut utiliser l'API. En fait sans utiliser indirectement (programmes tout faits, ou logiciels de programmation) ou directement l'API, faudrait pratiquement tout programmer en langage machine, ou avec un peu de chance, en assembleur.

    Il y a un paquet de sites qui se "spécialisent" dans la programmation avec l'API.

    Deux places "pas trop loin" pour commencer:

    https://www.google.com/url?q=http://...rglhHgE2MwelkA

    http://www.developpez.net/forums/d14...-dcom-ole-etc/
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/05/2012, 15h09
  2. Réponses: 0
    Dernier message: 07/10/2007, 10h24
  3. [CheckStyle] la méthode n'est pas conçue pour être dérivée
    Par 17mounir dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 19/02/2007, 15h41
  4. Réponses: 5
    Dernier message: 23/11/2006, 14h13
  5. Réponses: 4
    Dernier message: 05/09/2005, 22h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo