tommyknockers
Messages postés4Date d'inscriptionmercredi 22 novembre 2000StatutMembreDernière intervention26 juillet 2005
-
26 juil. 2005 à 13:41
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDerniè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: .......
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201848 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... ;)
tommyknockers
Messages postés4Date d'inscriptionmercredi 22 novembre 2000StatutMembreDernière intervention26 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.