SEPARER UNE CHAINE DE CARACTERE (split)

cs_SHIVA Messages postés 97 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 1 décembre 2003 - 23 mai 2002 à 19:56
marwakarmeni Messages postés 1 Date d'inscription jeudi 1 mars 2012 Statut Membre Dernière intervention 2 mars 2012 - 2 mars 2012 à 00:29
Salut ,
J'ai une chaîne qui est par exemple : " Marc,Kevin,nicolas"
Comment faire pour séparer tous les noms contenue entre les virgules et les mettre ensuite dans un listbox.
je n'ai pas vb6 (Split).
MERCI D'AVANCE
:)

5 réponses

fredlynx Messages postés 662 Date d'inscription mercredi 16 janvier 2002 Statut Modérateur Dernière intervention 16 octobre 2010 3
23 mai 2002 à 20:26
Private Sub Form_Click()
Dim TabSplit() As String
Dim Boucle As Integer
TabSplit = Slipt("bon,fe,sdz,sdz,zzd,zd,zdzdz,", ",")
For Boucle = 1 To UBound(TabSplit)
Debug.Print TabSplit(Boucle)
Next
End Sub

Private Function Slipt(Chaine As String, Delimiteur As String) As Variant
Dim TmpChaine As String
Dim Compteur As Integer
Dim LenDeli As Integer
Dim Posi As Integer
Dim Table() As String
LenDeli = Len(Delimiteur)
TmpChaine = Chaine
ReDim Table(100)
Compteur = 0
Posi = 1
Do
Posi = InStr(TmpChaine, Delimiteur)
If Posi = 0 Then
If Len(TmpChaine) = 0 Then Exit Do
Compteur = Compteur + 1
Table(Compteur) = TmpChaine
Exit Do
Else
Compteur = Compteur + 1
Table(Compteur) = Left(TmpChaine, Posi - 1)
End If
TmpChaine = Mid(TmpChaine, Posi + LenDeli)
If Compteur Mod 100 = 0 Then ReDim Preserve Table(Compteur + 100)
Loop
ReDim Preserve Table(Compteur)
Slipt = Table
End Function

<center>http://www.lynx-asp.fr.st
WebMaster</center>
0
cs_jym Messages postés 115 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 15 avril 2014
27 mai 2002 à 22:57
bjr,

j'ai pas testé le code ci dessus mais je ne doute pas qu'il marche.

il y a aussi les commandes (oubliées, délaissées???) des chaines de caractères telles qe instr, left right qui permettent de localiser un car particulier, de prendre la partie gauche du texte puis de retirer cette parrtie et de recommencer.

ex : dans la chaine ci-dessous

reserve4 ="un,deux,trois,quatre,pswd,2"

'collecte des valeurs des noms des entetes et du mot de passe client
Y = Len(reserve4) 'garde la longueur de reserve4 pour les coupures

'isole le couvercle
'Beep
i = InStr(reserve4, ",")
couvercle = Left$(reserve4, i - 1) 'prend la partie gauche de reserve4 moins la virgule

'supprime de reserve4 le texte du couvercle et la virgule
'calcule la longueur restante de reserve4
Y = Y - i
reserve4 = Right$(reserve4, Y)

'isole le aspect
i = InStr(reserve4, ",")
aspect = Left$(reserve4, i - 1) 'prend la partie gauche de reserve4 moins la virgule

'supprime de reserve4 le texte du couvercle et la virgule
'calcule a longueur restante de reserve4
Y = Y - i
reserve4 = Right$(reserve4, Y)

'isole le régime
i = InStr(reserve4, ",")
regime = Left$(reserve4, i - 1) 'prend la partie gauche de reserve4 moins la virgule

'supprime de reserve4 le texte du couvercle et la virgule
'calcule a longueur restante de reserve4
Y = Y - i
reserve4 = Right$(reserve4, Y)

'isole le le ssel
i = InStr(reserve4, ",")
ssel = Left$(reserve4, i - 1) 'prend la partie gauche de reserve4 moins la virgule

'supprime de reserve4 le texte du couvercle et la virgule
'calcule a longueur restante de reserve4
Y = Y - i
reserve4 = Right$(reserve4, Y)

'isole le mot de passe client
i = InStr(reserve4, ",")
motdepasseclient = Left$(reserve4, i - 1) 'prend la partie gauche de reserve4 moins la virgule
'supprime de reserve4 le texte du couvercle et la virgule
'calcule a longueur restante de reserve4
Y = Y - i
reserve4 = Right$(reserve4, Y)

'isole le nombre de ports série
limite_ports = reserve4

passe aux différentes variables (ssel,regime etc..) le contenu de la chaine avec chacun des termes des la chaine délimitée par les virgules

si ça peut aider.

bon code

jym
0
wajdibenalaya Messages postés 1 Date d'inscription dimanche 26 février 2012 Statut Membre Dernière intervention 26 février 2012
26 févr. 2012 à 20:16
Salut ,J'ai une chaîne qui est par exemple:

****06H06*LK203800107**0200!
1%C1303 : CAP ; Mesure=182.6n Tol_LO=50n Tol_HI=180n !

Comment faire pour séparer cette chaîne et les mettre ensuite dans 7 listbox.
exp:
( l'heure:06H06, le code: LK203800107,Ref:0200,composant:C1303 : CAP,Mesure=182.6n,Tol_LO=50n Tol_HI=180n )

je veux travailler avec VB 6.0
merci d'avance
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 févr. 2012 à 20:33
bonjour,
ouvre ta propre discussion sous VB6
la présente discussion est, elle, sous VB.Net! (pas pareil du tout !)
Ne l'ouvre qu'avec précisions sur le caractère/format (toujours le même ou non ?) de la chaîne à traiter (les séparateurs ***,*,**,!,1%,;...) etc ... en étant extrêmement précis sur ces points. La précision est la rançon du bonheur, le flou étant celle de l'abandon


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marwakarmeni Messages postés 1 Date d'inscription jeudi 1 mars 2012 Statut Membre Dernière intervention 2 mars 2012
2 mars 2012 à 00:29
Bnjour ,je sais pas comment lire ce fichier.txt a partir de la ligne [faultData],on utilisant la fonction split pour tabulation
Merci d'avance


[09254772010101]
TestResult=ACK


[FaultData]

Data1=13.02.2012 07:03:35 0 RA15 5 SITR 7 13 09254772010101
Data2=13.02.2012 07:03:35 21 RA15 5 SITR 1 1 09254772010101
Data3=13.02.2012 07:03:35 0 RA15 5 SITR 7 13 09254772010101
Data4=13.02.2012 07:03:35 3 GSTB3 1 SAIRB1 71 63 09254772010101
Data5=13.02.2012 07:03:35 4 3FEL 1 EPGB1 1 09254772010101
0
Rejoignez-nous