EQUIVALENT DU SPLIT VB6 POUR VB5

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 à 23:42
78zerocool Messages postés 22 Date d'inscription jeudi 13 janvier 2011 Statut Membre Dernière intervention 20 juillet 2011 - 17 déc. 2011 à 13:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/3420-equivalent-du-split-vb6-pour-vb5

78zerocool Messages postés 22 Date d'inscription jeudi 13 janvier 2011 Statut Membre Dernière intervention 20 juillet 2011
17 déc. 2011 à 13:47
commen tu veu spliter des element d un tableau qui doivent te retourner Index out of bount ? normal tu n indique aucune valeur de depart a ton string de tableau du coup il ne peut determiner une valeur de debut !
DragonDo Messages postés 93 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 22 juillet 2006
24 mai 2002 à 09:53
Encore moi. Je précise que mon code ne vérifie pas si les chaînes envoyées à la fonction sont pleines ou vides. A chacun d'y remédier ! (faut bien se casser la tête de temps en temps)

Bon prog
DragonDo Messages postés 93 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 22 juillet 2006
24 mai 2002 à 09:43
Euh ! Désolé mais le code ne fonctionne pas chez moi en VB5 ! VB répond : "Impossible d'affecter au tableau" et surligne Tabsplit dans "TabSplit = Slipt(Text1.Text, Text2.Text)".
Ci-après ma solution qui vaut ce qu'elle vaut (j'utilise les mêmes contrôles que fredlynx) :

'-----// Début du code
Private Sub Command2_Click()

'----- Déclaration des variables locales
Dim Tb() As String
Dim Ind As Long

'----- Ma fonction split
Splt Text1, Text2, Tb()

'----- Reprise du code de fredlynx pour afficher le résultat
For Ind = 1 To UBound(Tb)
Text3.Text = Text3.Text & Tb(Ind) & vbCrLf
Next Ind

End Sub

Public Sub Splt(TMsg As String, TCar As String, Tbl() As String)

'----- Déclaration des variables locales
Dim Ind As Long
ReDim Tbl(0)

'----- Boucle de calcul
Ind = InStr(TMsg, TCar)
Do While Ind <> 0
ReDim Preserve Tbl(UBound(Tbl) + 1)
Tbl(UBound(Tbl)) = Left$(TMsg, Ind - 1)
TMsg = Mid$(TMsg, Ind + 1)
Ind = InStr(TMsg, TCar)
Loop
ReDim Preserve Tbl(UBound(Tbl) + 1)
Tbl(UBound(Tbl)) = TMsg

End Sub
'-----// Fin du code

Dans tous les cas grand merci à fredlynx pour son code.
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 à 23:42
MERCI
Rejoignez-nous