Dohko10270
XLDnaute Nouveau
Bonjour,
Je viens vers vous car depuis bientôt 2 jours je me casse la tête pour me faire une petite application sous excel qui viendrai discuter avec une balance.
Je précise que je n'ai pas encore la balance j'utilise Hyperterminal avec un autre PC pour la simulée.
Pour communiquer je me sers de NETComm car n'ayant pas de licence pour MSComm.
Donc mon souci, j'arrive bien à dialoguer avec mon pc distant et à rapatrier les infos mais je suis obligé à chaque fois de rappuyer sur mon bouton pour recevoir une nouvelle fois les infos.
J'aimerai en fait :
j'active mon togglebutton, dès que j'ai le signe + (sur la trame) je rapatrie mes données dans une cellule
Puis j'attend un nouveau signe "+" pour rapatrier une nouvelle fois mes données.
Je pense que ça ne doit pas être bien compliqué mais étant novice je demande votre aide.
Ci joint le code :
Private Sub ToggleButton1_Click()
If ToggleButton1.Value Then
ToggleButton1.Caption = "Acquisition en cours"
'Vider le buffer
NETComm1.InBufferCount = 0
'choisir un port série
NETComm1.CommPort = 1 'Ici
'Balance
'9600 bauds, impaire, 8 bits de données, 1 bit d'arrêt
NETComm1.Settings = "9600,n,8,1" 'Ici
' indique au contrôle qu'il doit lire 1 seul caractère
'ce caractère sert à repérer la stabilisation de la balance
NETComm1.InputLen = 1 'Ici
'ouvre le port
NETComm1.PortOpen = True
'Boucle tant que le 1er caractère n'est pas un signe plus (+)
Do While NETComm1.InputData <> "+" 'Ici
Loop
'lecture sur le port des 8 1ers caractères et stockage dans la boite de dialogue et dans la feuille active
NETComm1.InputLen = 8
t = Timer + 4
Do Until Timer > t
Loop
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = NETComm1.InputData
Else
ToggleButton1.Caption = "Attente Acquisition "
NETComm1.PortOpen = False
End If
End Sub
Je viens vers vous car depuis bientôt 2 jours je me casse la tête pour me faire une petite application sous excel qui viendrai discuter avec une balance.
Je précise que je n'ai pas encore la balance j'utilise Hyperterminal avec un autre PC pour la simulée.
Pour communiquer je me sers de NETComm car n'ayant pas de licence pour MSComm.
Donc mon souci, j'arrive bien à dialoguer avec mon pc distant et à rapatrier les infos mais je suis obligé à chaque fois de rappuyer sur mon bouton pour recevoir une nouvelle fois les infos.
J'aimerai en fait :
j'active mon togglebutton, dès que j'ai le signe + (sur la trame) je rapatrie mes données dans une cellule
Puis j'attend un nouveau signe "+" pour rapatrier une nouvelle fois mes données.
Je pense que ça ne doit pas être bien compliqué mais étant novice je demande votre aide.
Ci joint le code :
Private Sub ToggleButton1_Click()
If ToggleButton1.Value Then
ToggleButton1.Caption = "Acquisition en cours"
'Vider le buffer
NETComm1.InBufferCount = 0
'choisir un port série
NETComm1.CommPort = 1 'Ici
'Balance
'9600 bauds, impaire, 8 bits de données, 1 bit d'arrêt
NETComm1.Settings = "9600,n,8,1" 'Ici
' indique au contrôle qu'il doit lire 1 seul caractère
'ce caractère sert à repérer la stabilisation de la balance
NETComm1.InputLen = 1 'Ici
'ouvre le port
NETComm1.PortOpen = True
'Boucle tant que le 1er caractère n'est pas un signe plus (+)
Do While NETComm1.InputData <> "+" 'Ici
Loop
'lecture sur le port des 8 1ers caractères et stockage dans la boite de dialogue et dans la feuille active
NETComm1.InputLen = 8
t = Timer + 4
Do Until Timer > t
Loop
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = NETComm1.InputData
Else
ToggleButton1.Caption = "Attente Acquisition "
NETComm1.PortOpen = False
End If
End Sub