Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Texte séparé par une virgule dans une list et une textbox [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (z980x)

lundi 16 juin 2003 à 14:50:21 | Texte séparé par une virgule dans une list et une textbox

z980x

J' explique mon problème :

J'ai une listbox et une textbox.
J'ai un fichier texte dans le même répertoire avec par exemple:

Visual,Basic
Hello,World


Je voudrais lors du lancement du programme, avoir la premiere partie de la ligne (ici Visual) dans la liste et la seconde partie (ici Basic) dans la textebox. La virgule jouant le séparateur...

Ensuite, lorsque je clique sur un autre texte dans la liste, je veux que la textbox soit ce qu'il y a apres la virgule de la même ligne.
Exemple :

Je clique sur la chaine Hello dans la liste, je veux que la textebox affiche World

Voila, merci pour votre aide...

lundi 16 juin 2003 à 15:04:43 | Re : Texte séparé par une virgule dans une list et une textbox

Zoltan67

essaie ça, ça marche si le fichier texte a la structure que tu as indiqué, avec 2 mots ( ou expressions ) par ligne, séparés par une virgule :


Option Explicit
Dim tbl(x, 2) As String 'ou x est le nombre de lignes de ton fichier, ou supérieur si tu ne le connais pas

Private Sub Form_Load()
Dim str As String
Dim i As Integer
Dim j As Integer
Open App.Path & "\toto.txt" For Input As #1
i = 0
While Not EOF(1)
Line Input #1, str
tbl(i, 0) = Left(str, InStr(str, ",") - 1) 'on récupère la partie à gauche de la virgule
tbl(i, 1) = Mid(str, InStr(str, ",") + 1)'on récupère la partie à droite de la virgule
i = i + 1
Wend
Close #1
For j = 0 To i
List1.AddItem tbl(j, 0)
Next
End Sub

Private Sub List1_Click()
Text1.Text = tbl(List1.ListIndex, 1)
End Sub




-------------------------------
Réponse au message :
-------------------------------

> J' explique mon problème :
>
> J'ai une listbox et une textbox.
> J'ai un fichier texte dans le même répertoire avec par exemple:
>
> Visual,Basic
> Hello,World
>
>
> Je voudrais lors du lancement du programme, avoir la premiere partie de la ligne (ici Visual) dans la liste et la seconde partie (ici Basic) dans la textebox. La virgule jouant le séparateur...
>
> Ensuite, lorsque je clique sur un autre texte dans la liste, je veux que la textbox soit ce qu'il y a apres la virgule de la même ligne.
> Exemple :
>
> Je clique sur la chaine Hello dans la liste, je veux que la textebox affiche World
>
> Voila, merci pour votre aide...

lundi 16 juin 2003 à 15:41:38 | Re : Texte séparé par une virgule dans une list et une textbox

z980x

ouahou ! Ca marche super bien ! Merci !
Mais malheureusement, je ne vais pas connaitre le nb de lignes.
Quand tu dis "ou supérieur si tu ne le connais pas", ca veut dire quoi? Qu'il faut mettre ca:

Dim tbl(>, 2) As String
ou ca
Dim tbl(<, 2) As String

Parce que ca ne marche pas quand je fais ca !

Merci pour ton aide
Voila !


-------------------------------
Réponse au message :
-------------------------------

> essaie ça, ça marche si le fichier texte a la structure que tu as indiqué, avec 2 mots ( ou expressions ) par ligne, séparés par une virgule :
>
>

> Option Explicit
> Dim tbl(x, 2) As String 'ou x est le nombre de lignes de ton fichier, ou supérieur si tu ne le connais pas
>
> Private Sub Form_Load()
> Dim str As String
> Dim i As Integer
> Dim j As Integer
> Open App.Path & "\toto.txt" For Input As #1
> i = 0
> While Not EOF(1)
> Line Input #1, str
> tbl(i, 0) = Left(str, InStr(str, ",") - 1) 'on récupère la partie à gauche de la virgule
> tbl(i, 1) = Mid(str, InStr(str, ",") + 1)'on récupère la partie à droite de la virgule
> i = i + 1
> Wend
> Close #1
> For j = 0 To i
> List1.AddItem tbl(j, 0)
> Next
> End Sub
>
> Private Sub List1_Click()
> Text1.Text = tbl(List1.ListIndex, 1)
> End Sub
>

>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > J' explique mon problème :
> >
> > J'ai une listbox et une textbox.
> > J'ai un fichier texte dans le même répertoire avec par exemple:
> >
> > Visual,Basic
> > Hello,World
> >
> >
> > Je voudrais lors du lancement du programme, avoir la premiere partie de la ligne (ici Visual) dans la liste et la seconde partie (ici Basic) dans la textebox. La virgule jouant le séparateur...
> >
> > Ensuite, lorsque je clique sur un autre texte dans la liste, je veux que la textbox soit ce qu'il y a apres la virgule de la même ligne.
> > Exemple :
> >
> > Je clique sur la chaine Hello dans la liste, je veux que la textebox affiche World
> >
> > Voila, merci pour votre aide...
>

lundi 16 juin 2003 à 15:49:06 | Re : Texte séparé par une virgule dans une list et une textbox

z980x

ah, un autre problème :
Il me dit "indice en dehors de la plage..."
Je ne sais pas pk.
Voila !


-------------------------------
Réponse au message :
-------------------------------

> ouahou ! Ca marche super bien ! Merci !
> Mais malheureusement, je ne vais pas connaitre le nb de lignes.
> Quand tu dis "ou supérieur si tu ne le connais pas", ca veut dire quoi? Qu'il faut mettre ca:
>
> Dim tbl(>, 2) As String
> ou ca
> Dim tbl(<, 2) As String
>
> Parce que ca ne marche pas quand je fais ca !
>
> Merci pour ton aide
> Voila !
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > essaie ça, ça marche si le fichier texte a la structure que tu as indiqué, avec 2 mots ( ou expressions ) par ligne, séparés par une virgule :
> >
> >

> > Option Explicit
> > Dim tbl(x, 2) As String 'ou x est le nombre de lignes de ton fichier, ou supérieur si tu ne le connais pas
> >
> > Private Sub Form_Load()
> > Dim str As String
> > Dim i As Integer
> > Dim j As Integer
> > Open App.Path & "\toto.txt" For Input As #1
> > i = 0
> > While Not EOF(1)
> > Line Input #1, str
> > tbl(i, 0) = Left(str, InStr(str, ",") - 1) 'on récupère la partie à gauche de la virgule
> > tbl(i, 1) = Mid(str, InStr(str, ",") + 1)'on récupère la partie à droite de la virgule
> > i = i + 1
> > Wend
> > Close #1
> > For j = 0 To i
> > List1.AddItem tbl(j, 0)
> > Next
> > End Sub
> >
> > Private Sub List1_Click()
> > Text1.Text = tbl(List1.ListIndex, 1)
> > End Sub
> >

> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > J' explique mon problème :
> > >
> > > J'ai une listbox et une textbox.
> > > J'ai un fichier texte dans le même répertoire avec par exemple:
> > >
> > > Visual,Basic
> > > Hello,World
> > >
> > >
> > > Je voudrais lors du lancement du programme, avoir la premiere partie de la ligne (ici Visual) dans la liste et la seconde partie (ici Basic) dans la textebox. La virgule jouant le séparateur...
> > >
> > > Ensuite, lorsque je clique sur un autre texte dans la liste, je veux que la textbox soit ce qu'il y a apres la virgule de la même ligne.
> > > Exemple :
> > >
> > > Je clique sur la chaine Hello dans la liste, je veux que la textebox affiche World
> > >
> > > Voila, merci pour votre aide...
> >
>

lundi 16 juin 2003 à 16:09:27 | Re : Texte séparé par une virgule dans une list et une textbox

Zoltan67

quand je dis supérieur, je veux dire une valeur supérieure au nombre de lignes ( si tu peux avoir un order d'idée du nombre ). comme ça, tu n'auras pas d'indice en dehors de la plage.
sinon, au debut de ton form_load, tu rajoutes:

dim k as integer
k=0
open app.path & "\toto.txt" for input as #1
while not eof(1)
k=k+1
wend
close #1
redim tbl(k,2) as string


et ensuite tu replace tout le reste du code que je t'ai mis avant

-------------------------------
Réponse au message :
-------------------------------

> ah, un autre problème :
> Il me dit "indice en dehors de la plage..."
> Je ne sais pas pk.
> Voila !
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > ouahou ! Ca marche super bien ! Merci !
> > Mais malheureusement, je ne vais pas connaitre le nb de lignes.
> > Quand tu dis "ou supérieur si tu ne le connais pas", ca veut dire quoi? Qu'il faut mettre ca:
> >
> > Dim tbl(>, 2) As String
> > ou ca
> > Dim tbl(<, 2) As String
> >
> > Parce que ca ne marche pas quand je fais ca !
> >
> > Merci pour ton aide
> > Voila !
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > essaie ça, ça marche si le fichier texte a la structure que tu as indiqué, avec 2 mots ( ou expressions ) par ligne, séparés par une virgule :
> > >
> > >

> > > Option Explicit
> > > Dim tbl(x, 2) As String 'ou x est le nombre de lignes de ton fichier, ou supérieur si tu ne le connais pas
> > >
> > > Private Sub Form_Load()
> > > Dim str As String
> > > Dim i As Integer
> > > Dim j As Integer
> > > Open App.Path & "\toto.txt" For Input As #1
> > > i = 0
> > > While Not EOF(1)
> > > Line Input #1, str
> > > tbl(i, 0) = Left(str, InStr(str, ",") - 1) 'on récupère la partie à gauche de la virgule
> > > tbl(i, 1) = Mid(str, InStr(str, ",") + 1)'on récupère la partie à droite de la virgule
> > > i = i + 1
> > > Wend
> > > Close #1
> > > For j = 0 To i
> > > List1.AddItem tbl(j, 0)
> > > Next
> > > End Sub
> > >
> > > Private Sub List1_Click()
> > > Text1.Text = tbl(List1.ListIndex, 1)
> > > End Sub
> > >

> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > J' explique mon problème :
> > > >
> > > > J'ai une listbox et une textbox.
> > > > J'ai un fichier texte dans le même répertoire avec par exemple:
> > > >
> > > > Visual,Basic
> > > > Hello,World
> > > >
> > > >
> > > > Je voudrais lors du lancement du programme, avoir la premiere partie de la ligne (ici Visual) dans la liste et la seconde partie (ici Basic) dans la textebox. La virgule jouant le séparateur...
> > > >
> > > > Ensuite, lorsque je clique sur un autre texte dans la liste, je veux que la textbox soit ce qu'il y a apres la virgule de la même ligne.
> > > > Exemple :
> > > >
> > > > Je clique sur la chaine Hello dans la liste, je veux que la textebox affiche World
> > > >
> > > > Voila, merci pour votre aide...
> > >
> >
>

lundi 16 juin 2003 à 19:07:39 | Re : Texte séparé par une virgule dans une list et une textbox

z980x

En fait j'ai réglé le pb d'indice en dehors de la plage....

Par contre, il y a un pb.
Si ton code tombe sur le ligne vide, il se plante, enfin, il ne marche pas.

Tu peux me dire comment faire pour que quand il y a une ligne vide, il s'arrete. (car c'est la dernière ligne du fichier texte, alors il peut s'arréter...)

Merci d'avance !

Voila !


-------------------------------
Réponse au message :
-------------------------------

> ah, un autre problème :
> Il me dit "indice en dehors de la plage..."
> Je ne sais pas pk.
> Voila !
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > ouahou ! Ca marche super bien ! Merci !
> > Mais malheureusement, je ne vais pas connaitre le nb de lignes.
> > Quand tu dis "ou supérieur si tu ne le connais pas", ca veut dire quoi? Qu'il faut mettre ca:
> >
> > Dim tbl(>, 2) As String
> > ou ca
> > Dim tbl(<, 2) As String
> >
> > Parce que ca ne marche pas quand je fais ca !
> >
> > Merci pour ton aide
> > Voila !
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > essaie ça, ça marche si le fichier texte a la structure que tu as indiqué, avec 2 mots ( ou expressions ) par ligne, séparés par une virgule :
> > >
> > >

> > > Option Explicit
> > > Dim tbl(x, 2) As String 'ou x est le nombre de lignes de ton fichier, ou supérieur si tu ne le connais pas
> > >
> > > Private Sub Form_Load()
> > > Dim str As String
> > > Dim i As Integer
> > > Dim j As Integer
> > > Open App.Path & "\toto.txt" For Input As #1
> > > i = 0
> > > While Not EOF(1)
> > > Line Input #1, str
> > > tbl(i, 0) = Left(str, InStr(str, ",") - 1) 'on récupère la partie à gauche de la virgule
> > > tbl(i, 1) = Mid(str, InStr(str, ",") + 1)'on récupère la partie à droite de la virgule
> > > i = i + 1
> > > Wend
> > > Close #1
> > > For j = 0 To i
> > > List1.AddItem tbl(j, 0)
> > > Next
> > > End Sub
> > >
> > > Private Sub List1_Click()
> > > Text1.Text = tbl(List1.ListIndex, 1)
> > > End Sub
> > >

> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > J' explique mon problème :
> > > >
> > > > J'ai une listbox et une textbox.
> > > > J'ai un fichier texte dans le même répertoire avec par exemple:
> > > >
> > > > Visual,Basic
> > > > Hello,World
> > > >
> > > >
> > > > Je voudrais lors du lancement du programme, avoir la premiere partie de la ligne (ici Visual) dans la liste et la seconde partie (ici Basic) dans la textebox. La virgule jouant le séparateur...
> > > >
> > > > Ensuite, lorsque je clique sur un autre texte dans la liste, je veux que la textbox soit ce qu'il y a apres la virgule de la même ligne.
> > > > Exemple :
> > > >
> > > > Je clique sur la chaine Hello dans la liste, je veux que la textebox affiche World
> > > >
> > > > Voila, merci pour votre aide...
> > >
> >
>



Cette discussion est classé dans : textbox, texte, liste, virgule, séparé


Répondre à ce message

Sujets en rapport avec ce message

pb saisie de texte dans textbox [ par footyak ] bonjour, j'ai un pb: lorsque je saisis la valeur numérique d'un résultat et qu'il ya une virgule , le prog ne prend que la première valeur avant la vi HELP! comment inverser du texte séparé par // dans une cellule? [ par nicobentz ] bonjour, j'ai une colonne contenant des cellules du type: //liste de mots1//liste de mots2//liste de mots3... je souhaite avoir: //liste de mots3/ Centré du Texte Verticalement dans une TextBox [ par bb181185 ] Bonjour à tous,Est-il possible de centré du Texte verticalement dans une TextBox?Merci d'avance Sauvegarde du contenu d'une TextBox et DTPicker [ par Pdm59 ] Bonjour,J'utilise une textbox et un DTPicker pour gerer des taches (une sorte d'alarme). J'aimerai qu'une fois que l'utilisateur est choisi sa date av Supprimer une partie de texte [ par AlexPoulard ] Bonjour, je voudrais connaître un code qui permet de supprimer une partie d'un texte. Je m'explique :Je créé un programme pour reconnaitre les icones Textbox et retour à la ligne [ par jekifvb6 ] Bonjour à toutes et tous, J'ai créé une form avec une picture box et un textbox (ou richtextbox aussi) et j'aimerais que le texte que je tape dans mo Copier un texte dans une appli. externe(sendmessage) [ par element1488 ] Bonjour à tous, Le but est de faire apparaitre une liste de choix par un hotkey. Lorsque l'utilisateur click la liste, le choix sélectionné est copié Textbox suivit automatique ?? [ par ABF ] Bonjours,j'aurais aimer savoir comment et s'il est possible de:Lorsque j'ouvre un fichier ou que j'ajoute du texte ... dans une textbox (txt.Text = tx Selection du texte d'un control TextBox [ par LUSTRUCRU ] BonjourJe souhaite sélectionner automatiquement le texte en bleu (ou autre couleur) se trouvant dans un textbox (dans un UserForm sur Excel) après sel un bouton rechercher [ par kanabinch ] Cette fois-ci j'ai une listebox où précédemment j'ai pu enregistrer des mots dans celle-ci. (qui ont été vérifié grâce à la table ascii...)En fait mon


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.