SIMPLIFIER

manureva10 Messages postés 20 Date d'inscription samedi 22 novembre 2003 Statut Membre Dernière intervention 21 octobre 2011 - 1 nov. 2007 à 04:54
manureva10 Messages postés 20 Date d'inscription samedi 22 novembre 2003 Statut Membre Dernière intervention 21 octobre 2011 - 1 nov. 2007 à 10:47
If






CheckBox1
.

Checked
=

False



And



CheckBox2
.

Checked
=

False



And



CheckBox3
.

Checked
=

False



And



CheckBox4
.

Checked
=

False



And



CheckBox5
.

Checked
=

False



And



CheckBox6
.

Checked
=

False



Then



c1
= 0


If



CheckBox1
.

Checked
=

True



And



CheckBox2
.

Checked
=

False



And



CheckBox3
.

Checked
=

False



And



CheckBox4
.

Checked
=

False



And



CheckBox5
.

Checked
=

False



And



CheckBox6
.

Checked
=

False



Then



c1
= 1


If



CheckBox1
.

Checked
=

True



And



CheckBox2
.

Checked
=

True



And



CheckBox3
.

Checked
=

False



And



CheckBox4
.

Checked
=

False



And



CheckBox5
.

Checked
=

False



And



CheckBox6
.

Checked
=

False



Then



c1
= 7


If



CheckBox1
.

Checked
=

True



And



CheckBox2
.

Checked
=

True



And



CheckBox3
.

Checked
=

True



And



CheckBox4
.

Checked
=

False



And



CheckBox5
.

Checked
=

False



And



CheckBox6
.

Checked
=

False



Then



c1
= 8


If



CheckBox1
.

Checked
=

True



And



CheckBox2
.

Checked
=

True



And



CheckBox3
.

Checked
=

True



And



CheckBox4
.

Checked
=

True



And



CheckBox5
.

Checked
=

False



And



CheckBox6
.

Checked
=

False



Then



c1
= 9


If



CheckBox1
.

Checked
=

True



And



CheckBox2
.

Checked
=

True



And



CheckBox3
.

Checked
=

True



And



CheckBox4
.

Checked
=

True



And



CheckBox5
.

Checked
=

True



And



CheckBox6
.

Checked
=

False



Then



c1
= 10


If



CheckBox1
.

Checked
=

True



And



CheckBox2
.

Checked
=

True



And



CheckBox3
.

Checked
=

True



And



CheckBox4
.

Checked
=

True



And



CheckBox5
.

Checked
=

True



And



CheckBox6
.

Checked
=

True



Then



c1
= 11


If



CheckBox1
.

Checked
=

True



And



CheckBox2
.

Checked
=

False



And



CheckBox3
.

Checked
=

True



And



CheckBox4
.

Checked
=

False



And



CheckBox5
.

Checked
=

False



And



CheckBox6
.

Checked
=

False



Then



c1
= 12


If



CheckBox1
.

Checked
=

True



And



CheckBox2
.

Checked
=

False



And



CheckBox3
.

Checked
=

True



And



CheckBox4
.

Checked
=

True



And



CheckBox5
.

Checked
=

False



And



CheckBox6
.

Checked
=

False



Then



c1 =13





se code est il simplifiable car en tous il me faut 40 ligne de programme
bonjour et merci a tous

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 nov. 2007 à 07:03
quelle est la logique ?

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
1 nov. 2007 à 09:58
utilise chexbox(i) au lieu de checkbox1, checkbox2, etc.
Pour faire ça, le "name" de chaque checkbox est le même, et le (i) est donné par l'index (dans les propriétés de la checkbox).
Après, tu fais
dim coefficient(lenombredetescheckbox) as integer
c1=0
for i=0 to lenombredetescheckbox
if checkbox(i).checked then
c1=c1+coefficient(i)
end if
next

Ca t'aidera à généraliser ton algorithme et t'évitera de taper 3000 lignes.
Le coefficient dépend de ta checkbox, c'est juste une règle pour compter..
(imagine pour compter en base 2, les coefficients sont, dans l'ordre: 1,2,4,8,16,etc)
A toi de trouver ces coefficients, je connais pas ton programme après, ni les valeurs que tu veux obtenir :p
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
1 nov. 2007 à 10:02
Là entre autres, ça a l'air d'être un truc en base 2 que tu veux, alors tes coefficients devraient être qqch comme 2^i, et t'auras pas besoin de dim coefficient(lenombredetescheckbox) as integer dans ce cas là.
Et regarde les valeurs que ça va te donner, ça te file des valeurs toutes différentes et bien comptées, mais c'est pas exactement l'ordre que toi tu nous as donné, donc soit tu changes ton ordre, soit tu adaptes l'ordre des indexs (i) dans les comboboxs.
0
manureva10 Messages postés 20 Date d'inscription samedi 22 novembre 2003 Statut Membre Dernière intervention 21 octobre 2011
1 nov. 2007 à 10:47
merci
0
Rejoignez-nous