VB > renvoyer un élément d'une chaine
cassiope69
Messages postés
20
Statut
Membre
-
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
j'ai un soucis, je réalise un petit programme permettant d'inscrire dans un formulaire les 4 éléments de chaque ligne d'un fichier.
ce fichier a donc 4 éléments séparés chacun par un ;
J'arrive à retrouver le premier élément ainsi : element1= = Mid(uneLigne, 1, uneLigne.IndexOf(";"))
et le deuxième élément ainsi : element2 = Mid(uneLigne, uneLigne.IndexOf(";") + 2, Len(uneLigne))
mais impossible de trouver l'élément 3 et 4...
Si quelqu'un pouvait m'aider.. :s
Merci d'avance!
j'ai un soucis, je réalise un petit programme permettant d'inscrire dans un formulaire les 4 éléments de chaque ligne d'un fichier.
ce fichier a donc 4 éléments séparés chacun par un ;
J'arrive à retrouver le premier élément ainsi : element1= = Mid(uneLigne, 1, uneLigne.IndexOf(";"))
et le deuxième élément ainsi : element2 = Mid(uneLigne, uneLigne.IndexOf(";") + 2, Len(uneLigne))
mais impossible de trouver l'élément 3 et 4...
Si quelqu'un pouvait m'aider.. :s
Merci d'avance!
Configuration: Windows Vista Firefox 3.0.3
10 réponses
-
-
Salut,
ben, si on suit ton raisonnementelement3 = Mid(uneLigne, uneLigne.IndexOf(";") + 4, Len(uneLigne)) element4 = Mid(uneLigne, uneLigne.IndexOf(";") + 6, Len(uneLigne))--
106485010510997108 -
Malheureusement ça ne marche pas les mots sont coupés je ne comprends pas...
Merci quand même -
Voici un exemple de mon fichier : (je ne peux pas donner le contenu véritable de mon fichier qui est confidentiel)
robain;18ans;paris;lycéen
marine;20ans;lyon;faculté
luc;1an;montpellier;crèche
la case 1 va donner robain, la case 2 a 18ans;paris;lycéen et la case 3 ns;paris;lycéen par exemple...je ne comprends pas..
J'aimerais aussi savoir comment afficher de manière aléatoire dans une groupe qui aurait par exemple 10 ligne de 4 colonnes 10 ligne aléatoires de mon fichier -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Salut,
EssaieSub mon_split() s = "a;b;c;d" Dim t t = Split(s, ";") element1 = t(0) element2 = t(1) element3 = t(2) element4 = t(3) End Sub
En fait tu n'as pas vraiment besoin des element1 .... sachant que tu peux utiliser directement t(0) .... -
Re,
Sub mon_split() Dim t For i = 1 To Range("A1").End(xlDown).Row t = Split(Cells(i, 1), ";") Cells(i, 2) = t(0) Cells(i, 3) = t(1) Cells(i, 4) = t(2) Cells(i, 5) = t(3) Next End Sub -
Merci pour tes reponses
- Pour ta première réponse la case 1 affichait> a la case 2 > b, la 3 > c et la 4 > d
- Pour ta deuxième réponse je ne sais pas si il faut déclarer Range, xlDown et Cells ni à quoi ils correspondent mais Visual Basic ne les reconnait pas... -
Salut,
mais Visual Basic ne les reconnait pas
Ca m'étonnerait, puisque c'est sous excel que j'ai testé ;-)
Voici le fichier excel https://www.cjoint.com/?ldnCEL6jta -
Bonjour tous,
La première question serrait peut-être QUEL VB ? et si Excel quel version ?
A+ -
Salut,
La fonction split existe en VB https://www.microsoft.com/en-us/download/details.aspx?id=55984
A toi d'adapter.
La solution que je t'ai donnée c'est de VBA et j'ai testé sous Excel. Je n'ai pas fait gaffe que tu as demandé pour VB.