_ Ia ora na, Sabrimi.
_ Merci pour ces explications, mais (pour dire les choses franchement), la forme en est plus claire que le fond.
1) Chacun est évidemment seul maître de ses méthodes de travail, mais celles-ci peuvent laisser perplexe :
a}
1/11, c'est juste pour différencier les 2 labels TF, F,M, N, etc.
_ L'opposition 1/11 n'a donc aucun fondement logique, et elle est visuellement peu efficace ;
b}
J'aurais pu choisir d'autres noms pour ces labels mais comme c'était pas ma préoccupation première, je me suis dis que je verrai plus tard.
_ Quel bénéfice attendre de la procrastination ?
2) a}
Par exemple, s'il y a 6 items, le calcul sera de 12, si c'est
15 items ce sera
24, etc.
Tu comprends mieux maintenant ?
_ A ma grande honte, non. Tout au plus, cela laisse à penser que le calcul dépend du nombre d'items ; or, un peu plus bas :
Le nombre d'items est au prorata du calcul.
ce qui est rigoureusement l'inverse.
b}
Par exemple :
1 à 8 items donne comme calcul
7 à 25 (Très Faible).
9 à 16 donne comme calcul 27 à 45 (Faible)
17 à 24 ---> 47 à 65 (Moyen)
_ Désolé, mais impossible de trouver la logique du système. D'autant plus que, ici, le calcul de valeur 24 appartient à la boucle 1 à 8 items , alors que (dans l'exemple cité en a}), 24 correspond à 15 items.
3) Essayons donc de faire abstraction du sens pour ne traiter que de la forme : la présentation de ce tableau.
Le &, au départ, était pour revenir à la ligne, mais lors de mon 1er post, on m'a dit que je mélangeais du numérique et du texte, alors j'ai tout repris en essayant de le placer à un autre endroit.
_ On appréciera certainement ce rappel ; cela étant,
a} certes, c'est grâce à ses erreurs que l'on avance, mais moins ces erreurs sont nombreuses, plus la progression est rapide...
b} utiliser des étiquettes n'est pas impossible, mais c'est vraiment se compliquer la vie !
c} au passage, pour obtenir un saut de ligne dans une étiquette (label), il faut utiliser vbCr et non vbCrLf (qui sert dans une zone de texte) ;
d} pourquoi ne pas employer deux listes (ListBox) ? elles sont justement faites pour ça : ListeTFCpt et ListeTFCalc, par exemple ; on pourrait imaginer quelque chose comme
1 2 3 4 5 6
| For i = 1 To 8
compte1$ = Format$(cpt1 & i)
ListeTFCpt.AddItem compte1$
calcul1$ = Format$(calc1 & Int(5 + (Int(i) * 100) / 100))
ListeTFCalc.AddItem calcul1$
Next i |
e} Reste la partie droite des lignes 2 et 4 ; supposons cpt1 = 3 ; qu'est-ce qu'est censé représenter cpt1 & i ?
>> 31 à la première itération, 32 à la deuxième et 38 à la huitième ? il faudrait alors écrire
compte1$ = Format$(cpt1) & Format$(i)
>> ou alors 4 à la première itération, 5 à la deuxième, 11 à la dernière ? il faut alors écrire
compte1$ = Format$(cpt1 + i)
_ Et que dire de Int(5 + (Int(i) * 100) / 100) ? c'est apparemment une façon d'arrondir un nombre décimal à l'entier supérieur, mais
>> i est déjà un entier,
>> l'ordre des opérations surprend ;
en final de compte, pour i = 2, on aura
Int(5 + (2 * 100) / 100) = 5 + ( 200 / 100 ) = 7
_ Est-ce vraiment le résultat recherché ?
f} Pour dire les choses autrement, dans
1 2 3 4
| For i = 1 To 8
compte1$ = Format$(cpt1 & i)
'[...]
calcul1$ = Format$(calc1 & Int(5 + (Int(i) * 100) / 100)) |
faut-il voir une tentative d'obtenir
1 2
| compte1$ = Format$(cpt1(i))
calcul1$ = Format$(Int((5 + calc1(i) * 100) / 100)) |
où Cpte1() serait un tableau d'entiers contenant les valeurs des divers items et Calc1(), un tableau de nombres en simple précision ?
_ Mais alors, la question que nous avions mise à la porte au § 3) rentrerait par la fenêtre : où et sous quelle forme sont stockés les mystérieux items ?
_ Bon courage pour la suite et bon week-end en attendant.
Partager