SEPARER UNE CHAINE DE CARACTERE (split)

Signaler
Messages postés
97
Date d'inscription
vendredi 28 décembre 2001
Statut
Membre
Dernière intervention
1 décembre 2003
-
Messages postés
1
Date d'inscription
jeudi 1 mars 2012
Statut
Membre
Dernière intervention
2 mars 2012
-
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

Messages postés
662
Date d'inscription
mercredi 16 janvier 2002
Statut
Modérateur
Dernière intervention
16 octobre 2010

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>
Messages postés
115
Date d'inscription
lundi 31 décembre 2001
Statut
Membre
Dernière intervention
15 avril 2014

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
Messages postés
1
Date d'inscription
dimanche 26 février 2012
Statut
Membre
Dernière intervention
26 février 2012

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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
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
Messages postés
1
Date d'inscription
jeudi 1 mars 2012
Statut
Membre
Dernière intervention
2 mars 2012

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