Calculs affinés par succession de listbox. Comment s'en sortir ?

Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 - 20 déc. 2010 à 19:29
Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 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

22 réponses

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
23 déc. 2010 à 10:14
Comment s'en sortir ?


Bonne chance à vous deux
0
Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 1
25 déc. 2010 à 19:48
Desole, j etais un peu deborde qvec les fêtes de fin d annee et puis qussi un peu en vacances .....

mille merci a vous 2 pour l aide
0
Rejoignez-nous