Vbscript + split !?

Résolu
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 26 sept. 2007 à 18:03
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 27 sept. 2007 à 09:07
Bonjour, j'ai un petit souci avec le vbscript !
J'ai une chaine qui contient une , et j'essayes de la supprimer de ma chaine avec la function split mais quand j'execute le vb il me dit :

subscript out of range

MsgBox "GO"


Dim MonTab()
Dim ele0, ele1, chaine


chaine = "mabaraque,123"
MsgBox chaine


'Split the string
MonTab() = Split(chaine, ",")


ele0 = MonTab(0)
ele1 = MonTab(1)


MsgBox  ele0  & ele1

Je vois pas ce qu'il se passe si quelqu'un a une idée

Merci
Christophe

4 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
27 sept. 2007 à 08:38
 Bonjour à tous,

Bonjour  [auteur/KRISTOFKODER/1121413.aspx Kristof_Koder], pour que l'exemple de [auteur/JIMMY69/23599.aspx jimmy69] ne renvoie pas d'erreur, il peut utiliser la
syntaxe ci-dessous. Mais il n'y a interêt que si utilisée avec une boucle !

Dim MonTab()
ReDim MonTab(0)
Dim ele0, ele1, chaine

chaine = "mabaraque,123"
MsgBox chaine

'Split the string
MonTab(0) = Split(chaine, ",")

ele0 = MonTab(0)(0)
ele1 = MonTab(0)(1)

MsgBox  ele0  & ele1

ou

Dim MonTab, ele0, ele1, chaine
chaine = "mabaraque,123"
MonTab = Split(chaine, ",")

MsgBox  MonTab(0)  &vbCr& MonTab(1)
---------------------------------------
<< J'ai une chaine qui contient une , et j'essaye de la supprimer de ma chaine >>
chaine = "mabaraque,123"chaine Replace(chaine,",",vbNullString)   ' ou chaine Replace(chaine,",","")
MsgBox chaine

jean-marc
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
26 sept. 2007 à 18:35
 Bonsoir,

Utilise la fonction Replace.

Exemple = "mabaraque,123"
Separateur = ","

Tableau = Split(Exemple,Separateur)
For i=LBound(Tableau) To UBound(Tableau)-1
    result = result & Tableau(i) & Space(1)
Next

MsgBox Join(Split(Exemple,Separateur)) &vbCrLf& _
       Replace(Exemple,Separateur,vbNullString) &vbCrLf& _
       Replace(Exemple,Separateur,Space(1)) &vbCrLf& _
       result

jean-marc
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
26 sept. 2007 à 22:02
JMO a raison pour le Replace(). Par contre, pour l'erreur, Split() ne renverrait-il pas par hasard un tableau à base 1 plutôt que 0 ?
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
27 sept. 2007 à 09:07
salut a tous,

je vous remercie pour vos posts, c'est vraiment sympa de me donner des exemples en plus !

Ca fonctionne merci beaucoup vraiment

J'ai installe vb6 y'a +- 1 semaine et je galere un peu :-)

Bonne fin de semaine
Christophe
0
Rejoignez-nous