Salut consiliblob
En fait, quand tu envoyes plusieurs données à la suite, la réception concatène (regroupe) les chaines les une derrière les autres.
Pour palier à ce problème, il suffit d'insérer un séparateur entre chaque donnée. Il faut choisir un caractère qu'on ne peut pas rencontrer dans les textes standards : je te propose Chr(0):
-1- A l'expédition, tu as dû faire une boucle du style :
For r = 0 to List.ListCount - 1
ws.SendData List.List(r)
Next r
alors, simplement, après chaque SendData, ajoute Chr(0) :
ws.SendData List.List(r) & Chr(0)
-2- A la réception, tu reçois maintenant tes données séparées par des Chr(0) : Il va suffire de les séparer :
Supposons que tu es lu tes données dans une chaine Temp
' Recherche un Chr(0)
r = Instr(1, Temp, Chr(0))
Do While r <> 0
' Si on en a un, on va isoler la donnée juste avant
MaDonnée = Left(Temp, r - 1)
' Si tu veux insérer cette donnée dans une ListBox
' côté réception, il te suffit de faire
List.AddItem MaDonnée
' On va supprimer cette chaine des données reçues
Temp = Mid(Temp, r + 1)
r = Instr(1, Temp, Chr(0))
DoEvent
Loop
Vala
Jack