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 :

Comment lire le port RS232


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut Comment lire le port RS232
    Bonjour,

    Je possède un tableau excel avec 3 feuilles: inventaire, en vente et vendu.

    Je référence ce que je possède avec un numéro (correspondant à celui de la photo de l'objet) et une désignation. J'ai rajouté dans la première colonne une macro qui m'affiche des codes barre en code128 (merci GrandZebu).

    Cela me permet donc d'imprimer des étiquettes avec Référence, désignation et code barre.

    Lorsque je met un objet en vente, je le transfère de la feuille 'inventaire' à 'en vente' puis à 'vendu'.

    Ayant acquis un lecteur Scantech, je souhaiterais pouvoir lorsque je scanne un objet référencé transférer celui-ci de la feuille inventaire vers la feuille en vente et ainsi de suite.

    Mais voilà, comment lire le port série ?

    J'ai donc installé l'activeX mscomm32.ocx, l'ai déclaré dans la base de registre et le voit dans les outils vba.

    Commençant à peine à m'intéresser aux macro, je ne sais pas comment récupérer les données envoyées par le lecteur et dans un premier temps, les afficher au fur et à mesure dans une colonne pour en vérifier la validité.

    Les paramètres de communication sont 9600 bauds, pas de parité, 8 bits de données, 2 bits d'arrêt et pas de contrôle de flux.

    L'envoi des données est précédé d'un <cr>; puis d'un F pour ean13, d'un FF pour ean8, d'un # pour code128, d'un P pour ean128 et d'un * pour code39 (je ne crée pas d'étiquette pour les objets déja muni d'un code barre); derrière ce caractère suivent les données.

    J'ai pu voir que le code nécessaire ne devait pas faire plus d'une dizaine de lignes (http://cherbe.free.fr/rs232.html entre autre), mais je n'arrive pas à l'implémenter, donc si quelqu'un pouvait me donner un coup de pouce pour cette première étape, ce serait vachement sympa.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut
    Au vu l'absence de réponse, je vais tout de même ajouter ce que j'ai pu essayer de mettre comme code.

    J'ai glané ces petits bouts à droite à gauche et je les ai assemblé, mais bon, sans succès jusqu'à présent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Public Function Lecture_Port$(Tampon$)
    Dim Tampon As String 'Déclaration des variables utiles
    Private Sub ouvre_port()
     MSComm.CommPort = 1 'On définit le port série qui sera utilisé (ici Port 1)
     MSComm.Settings = "9600,n,8,2" 'On définit ici les paramètres de transmission
     MSComm.PortOpen = True 'Ici on ouvre le port de communication
    End Sub
    Private Sub MSComm_OnComm() 'On attend une activité sur le port
     Select Case MSComm.CommEvent 'On détermine de quel type d'activité il s'agit
     Case comEvReceive 'S'il s'agit de la réception de données...
     Tampon = MSComm.Input '...on les stocke dans notre variable
     End Select
     MSComm.PortOpen = False 'Et pour finir on ferme le port de communication
    End Sub
    End Function
    Les pièces du puzzle sont là, sûrement pas dans le bon ordre, peut-être en manque-t'il ?

    Help

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Jète un oeil ici, je pense que le fichier joint pourra t'aider.
    Bonne nuit

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut
    Merci, je vais creuser ça

Discussions similaires

  1. Comment lire un port USB
    Par redJoe dans le forum C
    Réponses: 6
    Dernier message: 11/06/2010, 17h07
  2. lire un port rs232
    Par Deskwisk dans le forum C
    Réponses: 3
    Dernier message: 01/04/2010, 17h13
  3. Comment lire le port série
    Par Patson03 dans le forum Débuter
    Réponses: 1
    Dernier message: 26/04/2009, 14h08
  4. Comment ouvrire un Port Rs232 Com
    Par ..::snake::.. dans le forum Windows
    Réponses: 10
    Dernier message: 21/05/2007, 16h53
  5. lire les données sur un port RS232
    Par xave dans le forum Langage
    Réponses: 6
    Dernier message: 06/10/2005, 16h40

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