Sélectionner une partie d'une chaine de caractère

Résolu
blenkishop Messages postés 7 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 4 mai 2011 - 29 avril 2011 à 16:33
 tloubadoul - 26 sept. 2012 à 23:50
Bonjour tout le monde,

alors je m'explique: je cherche à sélectionner une partie d'une chaine de caractères, dans mon cas je reçois une trame qui est

%01$RD12345678000016

et je cherche à ne sélectionner que 123456780000 part paquet de 4 chiffres, ce qui me donnerai :

1234
5678
0000

et ces valeurs a ranger dans un tableau.


Dites moi si je ne suis pas assez clair ;)

Cordialement

4 réponses

cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
29 avril 2011 à 18:06
Bonjour,

As-tu pensé à la fonction Mid$ ?

Cheyenne
3
blenkishop Messages postés 7 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 4 mai 2011
2 mai 2011 à 14:42
Dim Tableau(33) As String, i As Integer
MSComm1.CommPort = 5
MSComm1.Settings = "115200,O,8,1"
MSComm1.InputLen = 0
MSComm1.PortOpen = True
MSComm1.Output = "%01#RDD0000000033**" & Chr(13)
MsgBox ""
a = MSComm1.Input
Tableau(0) = Mid(a, 7, 4)
Tableau(1) = Mid(a, 11, 4)
Tableau(3) = Mid(a, 15, 4)


Ca fonctionne impec' =)
3
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
2 mai 2011 à 19:46
Bonjour,

Du fait que utlises des String je te conseille de coder Mid$ et non Mid.
En effet sans le typage la fonction considère le résultat comme un type Variant, ce qui ralentit le traitement.
Avec les fonctions de chaînes, si l'on récupère un type String, il faut toujours utiliser le $.
La vitesse d'exécution du code est ainsi multipliée par 2.5

Cheyenne
0
Sinon en Vba ce que j'utiliserais si j'étais toi (et pour tous ceux qui se posent la même question), c'est :

x="%01$RD12345678000016"
part1 = Mid(x, InStr(x, "D") + 1, 4)
part2 = Mid(x, InStr(x, "D") + 5, 4)
part3 = Mid(x, InStr(x, "D") + 9, 4)

------------------
part1 : 1234
part2 : 5678
part3 : 0000



tu peux savoir ce que tu sais pas même si tu sais pas ce que tu sais, mais tu ne peux pas savoir ce que tu sais pas si tu sais que tu sais rien.
0
Rejoignez-nous