Calculs affinés par succession de listbox. Comment s'en sortir ?
Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 2013
-
20 déc. 2010 à 19:29
Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 2013
-
25 déc. 2010 à 19:48
Bonsoir
Mon appli en vb6, qui effectue des calculs, est, a un moment donné, dependante d'une listbox contenant les valeurs : 0.0; -0.1;-0.2;-0.3 ... -1.5
jusque la, en fonction de la valeur selectionnée, le logiciel effectuait des calculs qui fonctionnaient.
Dim nombre As Single
If List2.ListIndex = -1 Then
nombre = -1 ' valeur par défaut à modifier si nécessaire
Else
nombre = Val(List2.List(List2.ListIndex)) ' valeur sélectionnée
End If
Select case nombre
Case -0.1
mon calcul pour cette valeur
Case -0.2
'idem pour la suite
mon calcul pour cette valeur
Case ......
Case -1.5
End Select
Mainenant je dois affiner mon calcul a savoir :
pour chaque cas, effectuer un calcul au centieme par listbox
exemple : pour case -0.1 je dois afficher une listbox contenant les valeurs : -0.10;-0.11;-0.12; ....;-0.19 (que j'appelle ListboxA) et effectuer les calculs (les mêmes que dans la premiere listbox) avec ces nouvelles valeurs.
J'ai crée 9 Listbox ue je fais afficher selon le "case" selectionné
Jusque la tout va bien mais je m'embrouille un peu dans les boucles et cela me fait 81 cas a traiter si je ne me gourre pas. N'y a t'il pas quelque chose de moins lourd (je ne dois pas mettre toutes les valeurs dans une seule listbox)
qui ferait par exemple en shematisant
- cas -0.1 ==> effectuer les calculs avec la valeur -0.1 et afficher la tesxboxA
selectionner la valeur affinée a la main puis
avec un bouton "calcul affiné" ==> effectuer le calcul avec la valeur de la listboxA
- cas -0.2 ==> effectuer les calculs avec la valeur -0.2 et afficher la tesxboxB (de 0.20 à 0.29)
selectionner la valeur affinée a la main puis
avec un bouton "calcul affiné" ==> effectuer le calcul avec la valeur de la listboxB
Etc ...
du genre :
Dim nombre As Single
If List2.ListIndex = -1 Then
nombre = -1 ' valeur par défaut à modifier si nécessaire
Else
nombre = Val(List2.List(List2.ListIndex)) ' valeur sélectionnée
End If
Select case nombre
Case -0.1
mon calcul pour cette valeur
ListA.Show = True
ListB.Show = False
'idem pour toutes les sous liste
Dim nombre As Single
If ListA.ListIndex = -1 Then
nombre = -0.10 ' valeur par défaut à modifier si nécessaire
Else
nombre = Val(ListA.List(ListA.ListIndex)) ' valeur sélectionnée
End If
Select case nombre
Case -0.10
mon calcul pour cette valeur
Case -0.11
mon calcul pour cette valeur
etc
End select
Case -0.2
mon calcul pour cette valeur
Case ......
Case -1.5
End Select
Merci bien
A voir également:
Calculs affinés par succession de listbox. Comment s'en sortir ?