Comment compléter une listbox après sélection dans une combobox ? [Résolu]

Signaler
Messages postés
4
Date d'inscription
mercredi 22 novembre 2000
Statut
Membre
Dernière intervention
26 juillet 2005
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

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

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).
Messages postés
214
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
12 avril 2008

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
Messages postés
214
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
12 avril 2008

mrd je me suis trompé
select case combo1.listindex
Messages postés
4
Date d'inscription
mercredi 22 novembre 2000
Statut
Membre
Dernière intervention
26 juillet 2005

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