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 48
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