Comment compléter une listbox après sélection dans une combobox ?

Résolu
tommyknockers
Messages postés
4
Date d'inscription
mercredi 22 novembre 2000
Statut
Membre
Dernière intervention
26 juillet 2005
- 26 juil. 2005 à 13:41
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
- 26 juil. 2005 à 21:14
Bonjour,

Comment faire pour remplir une listbox après sélection dans une combobox?
ex:
Liste combobox : "application 1", "application 2" and "application 3".
Sélection "application 1", --> listbox :"nom 1", "nom 2", "nom 3".
Sélection "application 2", --> listbox :"message 1", "message 2"
Sélection "application 3", --> listbox :"prix 1", "prix 2", "prix 3", "prix 4"

Je préfèrerais utiliser des fichiers texte externes car plus facile pour la maintenance de l'application. Cela évite de devoir recompiler tout en cas de changement.
Le pre;ier fichier contient les valeurs affichées dans la combobox et le deuxième les valeurs de la listbox.
Le problème est de lier les infos de chaque fichier.
Si combo.txt contient :
ligne 1 : app 1
ligne 2 : app 2
ligne 3 : app 3
ligne 4 : .....

and list.txt contains :
ligne 1 : app 1 nom 1
ligne 2 : app 1 nom 2
ligne 3 : app 1 nom 3
ligne 4 : app 2 message 1
ligne 5 : app 2 message 2
ligne 6 : app 3 prix 1
ligne 7 : app 3 prix 2
ligne 8 : app 3 prix 3
ligne 9 : app 3 prix 4
ligne 10: .......

Toute aide est le bienvenue.

Je vous remercie d'avance.

Tommy

5 réponses

PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
26 juil. 2005 à 21:14
en effet, il te faut 3fichiers texte, avec les chemins en dur.
appellons les TxtFileCombo 1 2 3.txt

'déclaration
Const FilePath as string = "\TxtFileCombo"
Dim FF as integer 'pour l'indice du fichier texte

et dans ton Combo_Click, tes indices pour application 1 2 3 seront donc de 0 1 2

FF = FreeFile
dim i as integer
i=0

Dim Ligne as string

Open App.Path & FilePath & (Combo.ListIndex+1) & ".txt" For Input As #FF
Do While Not EOF(FF)
input #FF, Ligne
'et là tu as, ligne par ligne, tout ce que tu veux. tu as i pour compter, etc.... exemple :
List.AddItem ligne
i=i+1
Loop
Close #FF
debug.print "j'ai " & i & " ligne(s)"

voilà. et oublie pas une petit List.Clear avant... ;)

PCPT
3
BZY1
Messages postés
214
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
12 avril 2008

26 juil. 2005 à 15:56
salut essayes ça:

Sub combo1_click( )
liste1.AddItem (combo1.ListIndex)
End Sub

Quand tu cliques sur un des choix proposés par ton combobox celui si est reporté dans la liste (normalement).
0
BZY1
Messages postés
214
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
12 avril 2008

26 juil. 2005 à 16:01
Ah pardon! je n'avais lu que le titre.

Select case liste1.listindex

Case ListIndex=0
list1.additem nom1
list1.additem nom2
....
case listIndex=1
list1.additem nom1
case listIndex=2
list1.additem nom1

End Select

j'espère que c'est ce que tu cherchais
0
BZY1
Messages postés
214
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
12 avril 2008

26 juil. 2005 à 16:03
mrd je me suis trompé
select case combo1.listindex
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tommyknockers
Messages postés
4
Date d'inscription
mercredi 22 novembre 2000
Statut
Membre
Dernière intervention
26 juillet 2005

26 juil. 2005 à 16:24
Salut,

Comme ça, ça marche bien, mais toutes les valeurs sont hardcodées. Si je veux changer ou ajouter une valeur, je dois tout recompiler. Je voudrais utiliser 2 fichiers texte pour stocker les valeurs.

Merci
0