Liaison série sous excel via VBA

Signaler
Messages postés
7
Date d'inscription
jeudi 6 novembre 2014
Statut
Membre
Dernière intervention
14 novembre 2014
-
Messages postés
31065
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2021
-
Bonjour,

je souhaiterais récupérer des données de balances branchées sur le port RS232 "COM1" directement sous excel, je ne sais pas comment programmer ça en VBA ? quelqu'un aurait une solution ?

3 réponses

Messages postés
31065
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2021
342
Bonjour,

Il existe des exemples sur le net....
par exemple :
http://codes-sources.commentcamarche.net/source/37298-liaison-serie-sous-excel-vba

Messages postés
7
Date d'inscription
jeudi 6 novembre 2014
Statut
Membre
Dernière intervention
14 novembre 2014

le fichier ne fonctionne pas, quand je l'ouvre, il ouvre excel et c'est vide y'a rien !!!!
Messages postés
31065
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2021
342
Ah oui en effet...

pas grave... il y a plein d'autres exemples sur le net :
il suffit de chercher : vba excel port serie
http://lmgtfy.com/?q=vba+excel+port+serie

.
Messages postés
7
Date d'inscription
jeudi 6 novembre 2014
Statut
Membre
Dernière intervention
14 novembre 2014

j'aimerais savoir si ce programme fonctionne pour recevoir des données du port de communication :

Private Sub CommandButton1_Click()
Beep

'Vider le buffer
MSComm1.InBufferCount = 0

'choisir un port série
MSComm1.CommPort = 1 'Ici

'Balance
'2400 bauds, parité, 7 bits de données, 1 bit d'arrêt
MSComm1.Settings = "9600,0,8,2" 'Ici

' indique au contrôle qu'il doit lire 1 seul caractère
'ce caractère sert à repérer la stabilisation de la balance
MSComm1.InputLen = 1 'Ici

'ouvre le port
MSComm1.PortOpen = True

'affiche un message
UserForm1.Label2.Visible = True
UserForm1.Repaint

'Boucle tant que le 1er caractère n'est pas un signe plus (+)
Do While MSComm1.Input <> "+" 'Ici
Label1.Caption = "Rien reçu !"
UserForm1.Repaint
Loop
UserForm1.Label2.Visible = False
UserForm1.Repaint

'lecture sur le port des 5 1ers caractères et stockage dans la boite de dialogue et dans la feuille active
MSComm1.InputLen = 10
Label1.Caption = MSComm1.Input
ActiveCell.Value = CSng(Label1.Caption)
ActiveCell.Offset(1, 0).Select

'ferme le port
MSComm1.PortOpen = False 'Ici

End Sub


Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Click()

End Sub
Messages postés
31065
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2021
342
Pour savoir si un programme fonctionne. ..le mieux c'est de l'essayer.