Récupérer données RS232 (multimètre) dans excel 2007

Signaler
Messages postés
3
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
20 mars 2009
-
Messages postés
6
Date d'inscription
samedi 20 février 2010
Statut
Membre
Dernière intervention
10 mai 2012
-
Bonjour,

J'ai un multimètre TENMA 72-7745 qui permet de récupérer des données par le port série (le pgm fourni avec fonctionne très bien... )

Mais, j'aimerais bien "bidouiller" un peu de code pour pouvoir récupérer ces données directement dans excel 2007 et ainsi les exploiter.
J'ai installé le module MSCOMM dans excel et créé un userfom avec les données du port (j'utilise un adaptateur USB/série pour relier le multimètre au pc)

Voilà le code (basique) que j'ai :

MSComm1.InBufferCount = 0


MSComm1.CommPort = 1
MSComm1.Settings = "2400,O,7,1"
MSComm1.PortOpen = True
MSComm1.InputLen = 1


    Do
      DoEvents 
      tampon$ = tampon$ + MSComm1.Input
    Loop Until Len(tampon$) > 10
   
    ActiveCell.Value = tampon$
    Range("b" & ActiveCell.Row + 1).Select
    tampon$ = ""
MSComm1.PortOpen = False

Lorsque j'ouvre le port et lis les données, j'ai ceci : �17; 5E[k~�1;�1F; 0@Th  qui se répète "à l'infini"... En principe, cela devait mesurer une tension de 12.53V dc... !?

Est-ce que mon code est "trop" simpliste et qu'il manque des données essentielles pour la bonne réception et le décodage ?
Merci pour les commentaires et l'aide que vous pourrez m'apporter.

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Salut
Non, c'est la bonne méthode.
Il est logique que ton multimètre émette en permanence pour t'envoyer ses mesures.
Dans la Doc, ne disent-ils pas sous quelle forme sont envoyées les données ?
Les données que tu reçois ne sont apparemment pas de l'ASCII mais plutôt des chiffres que tu demandes à afficher sous sous forme ASCII.
Chaque caractère possède un code ASCII.
Quand tu lis MSComm1.Input, il va falloir faire un petit traitement :
   Dim r As Integer
   For r = 1 To Len(MSComm1.Input)
      Debug.Print Asc(Mid$(MSComm1.Input, r, 1))
   Next r
et regarde les chiffres qui vont défiler dans la fenêtre de debug (Ctrl-G)
Ca te parlera peut-être
Chez moi, ça donne ça, mais je me méfie des copier-coller :
 23
 32
 53
 69
 91
 107
 126
 1
 31
 32
 48
 64
 84
 104

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
6
Date d'inscription
samedi 20 février 2010
Statut
Membre
Dernière intervention
10 mai 2012

Salut Jackfly,
j'ai un problème d'utiliser le multimètre comme vous merci bien de m'aider avec la répondre de deux question s'il vous plait
1-comment tu fais installer le module MSCOMM dans excel et créer un userfom avec les données du port ?:est ce que tu utilise un adaptateur USB/série et il va détecter automatiquement au pc sans configuration! et l'excel le connait facilement!!comment)
2-est ce que je peux récupérer les données avec le vb.net puis l’enregistrer sous excel
j'espère que tu me bien comprendre et merci bien de m'aider
merci beaucoups à tous
BON TARVAIL