Re : Traitement données RS232
Re MJ13,
Merci pour ton aide mais ça ne marche pas.
On a trouvé une solution avec le bof (^^) :
Private Sub CommandButton1_Click()
Beep
Dim val As Integer
Dim k As Integer, valeur, poids As String
'Vider le buffer
MSComm1.InBufferCount = 0
'choisir un port série
MSComm1.CommPort = 1 'Ici
'Balance
'1200 bauds, parité, 7 bits de données, 1 bit d'arrêt
MSComm1.Settings = "1200,o,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
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 <> "A" '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 = 11
t = Timer + 2: Do Until Timer > t: DoEvents: Loop
Cells(1, 1).Value = MSComm1.Input
'Label3.Caption = MSComm1.Input
'ActiveCell.Value = MSComm1.Input
'ActiveCell.Offset(1, 0).Select
'ferme le port
MSComm1.PortOpen = False 'Ici
Unload Me
valeur = Sheets("données").Cells(1, 1)
poids = ""
For k = 1 To Len(valeur)
If IsNumeric(Mid(valeur, k, 1)) Then
poids = poids & Mid(valeur, k, 1)
End If
Next k
Sheets("données").Cells(1, 2) = poids * 1
End Sub
Donc la mise en place d'une temporisation permet l'acquisition du signal, je sais pas trop pourquoi mais ça marche. Si quelqu'un a une explication du pourquoi du comment je suis preneur. On a ajouté aussi une partie qui extrait uniquement les chiffre et qui marche bien.
Merci encore à tous pour votre aide.
Picou