Effectuer une fonction a toutes les lignes
patapoufy
Messages postés
3
Statut
Membre
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je fait un programme en vb qui sépare la partie a gauche et la partie a droite de ":"
exemple1 :
-textbox1 =
quand j'appuie sur le button4
-textbox2 =
-textbox3 =
voici mon code :
voila donc mon code marche parfaitement.
Par contre ce que j'aimerai faire maintenant c'est effectuer la même fonction avec plusieurs lignes dans mon textbox
exemple2 :
-textbox1 =
quand j'appuie sur le button4
-textbox2 =
-textbox3 =
voila en espérant avoir été clair =) .
je fait un programme en vb qui sépare la partie a gauche et la partie a droite de ":"
exemple1 :
-textbox1 =
jean:yves
quand j'appuie sur le button4
-textbox2 =
jean
-textbox3 =
yves
voici mon code :
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim separateur() As String
''separateur(0) : la partie gauche,
''separateur(1) : la partie droite.
separateur = Split(TextBox1.Text, ":")
TextBox2.Text = separateur(0)
TextBox3.Text = separateur(1)
End Sub
voila donc mon code marche parfaitement.
Par contre ce que j'aimerai faire maintenant c'est effectuer la même fonction avec plusieurs lignes dans mon textbox
exemple2 :
-textbox1 =
jean:yves sebastien:raymond michel:uber ratatouille:gaspert
quand j'appuie sur le button4
-textbox2 =
jean sebastien michel ratatouille
-textbox3 =
Yves raymond uber gaspert
voila en espérant avoir été clair =) .
2 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonsoir, source d'inspiration:Private Sub ptsplit() Dim lignes() As String Dim ligne Dim parties() As String Dim txt1, txt2 ''separateur(0) : la partie gauche, ''separateur(1) : la partie droite. lignes = split([A1], Chr(10)) For Each ligne In lignes parties = split(ligne, ":") txt1 = txt1 & parties(0) & Chr(10) txt2 = txt2 & parties(1) & Chr(10) Next ligne End Sub -
c'est bon j'ai réussi a corriger merci bien en tout tu m'a été super utile !
Dim lignes() As String Dim ligne Dim parties() As String ''separateur(0) : la partie gauche, ''separateur(1) : la partie droite. lignes = Split(TextBox1.Text, vbNewLine) For Each ligne In lignes parties = Split(ligne, ":") TextBox2.Text = TextBox2.Text & parties(0) & vbNewLine TextBox3.Text = TextBox3.Text & parties(1) & vbNewLine Next ligne
maintenant j'ai un autre problème qui doit nécessité la fonction "for each" également mais je ne vois pas de quelle façon.
donc cette fois c'est pour faire la fonction inverse unire la ligne 1 du textbox2 avec la ligne 1 du textbox3 séparer de ":" dans le textbox1.
exemple:
textbox2 =marie jean lucas
textbox3 =dupont martin duc
je clique sur le bouton 16
textbox 1 =marie:dupont jean:martin lucas:duc
voici le code que j'ai déjà et qui ne fonctionne uniquement pour une seul ligne :
Dim Tableau(1) As String Tableau(0) = TextBox2.Text Tableau(1) = TextBox3.Text 'Regroupe les chaînes du tableau, séparés par textbox5.text TextBox1.Text = Join(Tableau, TextBox5.Text)
voila je pense qu'il faut utiliser 2 fois "for each" mais franchement je ne sait pas trop utiliser cette fonction.
En espérant que l'on pourra m'aider ! =)-
alors c'est mieux de partir de cet exemple (pour résoudre le problème initial). Tu pourras plus facilement t'en inspirer pour le second problème.
Private Sub ptsplit2() Dim lignes() As String Dim nlig As Long Dim parties() As String Dim txt1, txt2 ''separateur(0) : la partie gauche, ''separateur(1) : la partie droite. lignes = split([A1], Chr(10)) For nlig = 0 To UBound(lignes) parties = split(lignes(nlig), ":") txt1 = txt1 & parties(0) & Chr(10) txt2 = txt2 & parties(1) & Chr(10) Next nlig End Sub
-