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

tommyknockers 4 Messages postés mercredi 22 novembre 2000Date d'inscription 26 juillet 2005 Dernière intervention - 26 juil. 2005 à 13:41 - Dernière réponse : PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention
- 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
Afficher la suite 

5 réponses

PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 26 juil. 2005 à 21:14
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
BZY1 215 Messages postés jeudi 10 mars 2005Date d'inscription 12 avril 2008 Dernière intervention - 26 juil. 2005 à 15:56
0
Utile
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).
BZY1 215 Messages postés jeudi 10 mars 2005Date d'inscription 12 avril 2008 Dernière intervention - 26 juil. 2005 à 16:01
0
Utile
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
BZY1 215 Messages postés jeudi 10 mars 2005Date d'inscription 12 avril 2008 Dernière intervention - 26 juil. 2005 à 16:03
0
Utile
mrd je me suis trompé
select case combo1.listindex
tommyknockers 4 Messages postés mercredi 22 novembre 2000Date d'inscription 26 juillet 2005 Dernière intervention - 26 juil. 2005 à 16:24
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.