Fonction split

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 730 fois - Téléchargée 47 fois

Contenu du snippet

Explique comment se servir de la fonction split

Source / Exemple :


Dim st As String
Dim St1() As String
st = "17;18;19;20"
St1() = Split(st, ";")
For i = 0 To UBound(St1)
   MsgBox St1(i)
Next i

Conclusion :


Vous donnera successivement 17 18 19 et 20 dans un msgbox.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
4
Date d'inscription
mardi 12 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2006

Julbute, Pourquoi tu ne mets pas toutes tes lignes dans une seule variable (Tu peux faire un Replace(Variable,(chr(10),"") et Replace (Variable,chr(13),"") pour enlever les sauts de ligne. Ça te donnerais :
1153748,13/04/2006 03:02:35,1,SpaceManager,1153747,12/04/2006 22:06:25,1,RS_Global.asp,1153746,12/04/2006 22:06:08,1,RS_Global.asp, (sur une seule ligne)

Et tu pourrais faire ton split après.... Tu pourrais mettre aussi un if Morceau <> "" then pour t'assurer que ton dernier bloc ne soit pas un bloc vide....
Messages postés
4
Date d'inscription
mardi 12 avril 2005
Statut
Membre
Dernière intervention
4 juillet 2006

Bonjour, Voici une façon encore plus simple:

1. Dim st, St1
2. st = "17;18;19;20"
3. For Each St1 In Split(st, ";")
4. MsgBox St1
5. Next
Messages postés
8
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
13 avril 2006

Bon ok dans ton exemple ça marche mais serais tu comment proceder si on devait effectuer un split sur plusieurs lignes et qu'il y a également un séparateur à la fin de chaque lignes.
exemple:

1153748,13/04/2006 03:02:35,1,SpaceManager,
1153747,12/04/2006 22:06:25,1,RS_Global.asp,
1153746,12/04/2006 22:06:08,1,RS_Global.asp,
Messages postés
1
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
16 mars 2005

Ça fonctionne mais moi, je l'essaie dans mon application et il m'affiche mes données plusieurs fois. Comment y remédier??
Voici mon code:

Dim strChaine() As String
Dim i As Integer

strChaine = Split(MonChamp, "|")

For i = 0 To UBound(strChaine)
txtTest = txtTest & strChaine(i) & vbNewLine
Next i
Messages postés
295
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
24 janvier 2014
1
un petit 9/10 pour votre ingéniosité ( comparé à bon nombre qui ont crées des fonctions un peu trop lourde pour faire ce que vous faites le mieux en 7 lignes ;)
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.