"Patrice Henrio" a écrit dans le message de
news:%
Hello,
> Pourquoi encore et toujours IF <BOOLEEN>=TRUE THEN
> alors qu'il est si simple (et plus correct d'écrire) d'écrire
> IF <BOOLEEN> THEN
ce n'est ni "plus" ni "moins" correct. Ce n'est pas non plus
"plus" ou "moins" simple. C'est une habitude, c'est tout.
On notera au passage que le code généré est exactement le
même, qu'on mette le " = TRUE " ou pas. Le compilateur
est un grand garçon, qui sait se débrouiller tout seul.
> De plus il me semble que la valeur par défaut du optionbutton est value
donc
> on doity pouvoir tester directement if optionbutton(i) then
Ca par contre c'est un **mauvais** conseil.
1/ Programmer, ce n'est pas seulement saisir du code qui
fonctionne: c'est aussi écrire du code lisible
par un tiers. Utiliser la propriété par défaut d'un
composant nuit gravement à la lisibilité, en plus d'être
une source non négligeable d'erreurs. Ces erreurs seront
en plus difficiles à détecter.
2/ Ca ne change rien à la vitesse. J'ajouterais pour faire
bonne mesure que si on en est réduit à faire ce genre de
bidouilles malsaines et douteuses pour espérer grapiller
d'illusoires millisecondes, alors on doit revoir en
profondeur son implémentation. Le performances ne se
gagnent JAMAIS en jouant avec la syntaxe du langage.
L'utilisation d'artifices n'est jamais une bonne idée:
on sacrifie la lisibilité à la flemmardise du clavier :-(
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news:%23kb6rxKqEHA.1576@TK2MSFTNGP12.phx.gbl...
Hello,
> Pourquoi encore et toujours IF <BOOLEEN>=TRUE THEN
> alors qu'il est si simple (et plus correct d'écrire) d'écrire
> IF <BOOLEEN> THEN
ce n'est ni "plus" ni "moins" correct. Ce n'est pas non plus
"plus" ou "moins" simple. C'est une habitude, c'est tout.
On notera au passage que le code généré est exactement le
même, qu'on mette le " = TRUE " ou pas. Le compilateur
est un grand garçon, qui sait se débrouiller tout seul.
> De plus il me semble que la valeur par défaut du optionbutton est value
donc
> on doity pouvoir tester directement if optionbutton(i) then
Ca par contre c'est un **mauvais** conseil.
1/ Programmer, ce n'est pas seulement saisir du code qui
fonctionne: c'est aussi écrire du code lisible
par un tiers. Utiliser la propriété par défaut d'un
composant nuit gravement à la lisibilité, en plus d'être
une source non négligeable d'erreurs. Ces erreurs seront
en plus difficiles à détecter.
2/ Ca ne change rien à la vitesse. J'ajouterais pour faire
bonne mesure que si on en est réduit à faire ce genre de
bidouilles malsaines et douteuses pour espérer grapiller
d'illusoires millisecondes, alors on doit revoir en
profondeur son implémentation. Le performances ne se
gagnent JAMAIS en jouant avec la syntaxe du langage.
L'utilisation d'artifices n'est jamais une bonne idée:
on sacrifie la lisibilité à la flemmardise du clavier :-(
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" a écrit dans le message de
news:%
Hello,
> Pourquoi encore et toujours IF <BOOLEEN>=TRUE THEN
> alors qu'il est si simple (et plus correct d'écrire) d'écrire
> IF <BOOLEEN> THEN
ce n'est ni "plus" ni "moins" correct. Ce n'est pas non plus
"plus" ou "moins" simple. C'est une habitude, c'est tout.
On notera au passage que le code généré est exactement le
même, qu'on mette le " = TRUE " ou pas. Le compilateur
est un grand garçon, qui sait se débrouiller tout seul.
> De plus il me semble que la valeur par défaut du optionbutton est value
donc
> on doity pouvoir tester directement if optionbutton(i) then
Ca par contre c'est un **mauvais** conseil.
1/ Programmer, ce n'est pas seulement saisir du code qui
fonctionne: c'est aussi écrire du code lisible
par un tiers. Utiliser la propriété par défaut d'un
composant nuit gravement à la lisibilité, en plus d'être
une source non négligeable d'erreurs. Ces erreurs seront
en plus difficiles à détecter.
2/ Ca ne change rien à la vitesse. J'ajouterais pour faire
bonne mesure que si on en est réduit à faire ce genre de
bidouilles malsaines et douteuses pour espérer grapiller
d'illusoires millisecondes, alors on doit revoir en
profondeur son implémentation. Le performances ne se
gagnent JAMAIS en jouant avec la syntaxe du langage.
L'utilisation d'artifices n'est jamais une bonne idée:
on sacrifie la lisibilité à la flemmardise du clavier :-(
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
j'ai 3 OptionButton sur ma feuille et je voudrais savoir lequel est
coché.....
j'ai envisagé :
dim i as integer
for i = 0 to 2
select case Option1(i).Value
case true
case false
end select
next
qu'en pensez vous ? y'a mieux ?
merci,
dav
j'ai 3 OptionButton sur ma feuille et je voudrais savoir lequel est
coché.....
j'ai envisagé :
dim i as integer
for i = 0 to 2
select case Option1(i).Value
case true
case false
end select
next
qu'en pensez vous ? y'a mieux ?
merci,
dav
j'ai 3 OptionButton sur ma feuille et je voudrais savoir lequel est
coché.....
j'ai envisagé :
dim i as integer
for i = 0 to 2
select case Option1(i).Value
case true
case false
end select
next
qu'en pensez vous ? y'a mieux ?
merci,
dav
"Patrice Henrio" a écrit dans le message de
news:%
Hello,Pourquoi encore et toujours IF <BOOLEEN>=TRUE THEN
alors qu'il est si simple (et plus correct d'écrire) d'écrire
IF <BOOLEEN> THEN
ce n'est ni "plus" ni "moins" correct. Ce n'est pas non plus
"plus" ou "moins" simple. C'est une habitude, c'est tout.
On notera au passage que le code généré est exactement le
même, qu'on mette le " = TRUE " ou pas. Le compilateur
est un grand garçon, qui sait se débrouiller tout seul.De plus il me semble que la valeur par défaut du optionbutton est value
doncon doity pouvoir tester directement if optionbutton(i) then
Ca par contre c'est un **mauvais** conseil.
1/ Programmer, ce n'est pas seulement saisir du code qui
fonctionne: c'est aussi écrire du code lisible
par un tiers. Utiliser la propriété par défaut d'un
composant nuit gravement à la lisibilité, en plus d'être
une source non négligeable d'erreurs. Ces erreurs seront
en plus difficiles à détecter.
2/ Ca ne change rien à la vitesse. J'ajouterais pour faire
bonne mesure que si on en est réduit à faire ce genre de
bidouilles malsaines et douteuses pour espérer grapiller
d'illusoires millisecondes, alors on doit revoir en
profondeur son implémentation. Le performances ne se
gagnent JAMAIS en jouant avec la syntaxe du langage.
L'utilisation d'artifices n'est jamais une bonne idée:
on sacrifie la lisibilité à la flemmardise du clavier :-(
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news:%23kb6rxKqEHA.1576@TK2MSFTNGP12.phx.gbl...
Hello,
Pourquoi encore et toujours IF <BOOLEEN>=TRUE THEN
alors qu'il est si simple (et plus correct d'écrire) d'écrire
IF <BOOLEEN> THEN
ce n'est ni "plus" ni "moins" correct. Ce n'est pas non plus
"plus" ou "moins" simple. C'est une habitude, c'est tout.
On notera au passage que le code généré est exactement le
même, qu'on mette le " = TRUE " ou pas. Le compilateur
est un grand garçon, qui sait se débrouiller tout seul.
De plus il me semble que la valeur par défaut du optionbutton est value
donc
on doity pouvoir tester directement if optionbutton(i) then
Ca par contre c'est un **mauvais** conseil.
1/ Programmer, ce n'est pas seulement saisir du code qui
fonctionne: c'est aussi écrire du code lisible
par un tiers. Utiliser la propriété par défaut d'un
composant nuit gravement à la lisibilité, en plus d'être
une source non négligeable d'erreurs. Ces erreurs seront
en plus difficiles à détecter.
2/ Ca ne change rien à la vitesse. J'ajouterais pour faire
bonne mesure que si on en est réduit à faire ce genre de
bidouilles malsaines et douteuses pour espérer grapiller
d'illusoires millisecondes, alors on doit revoir en
profondeur son implémentation. Le performances ne se
gagnent JAMAIS en jouant avec la syntaxe du langage.
L'utilisation d'artifices n'est jamais une bonne idée:
on sacrifie la lisibilité à la flemmardise du clavier :-(
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" a écrit dans le message de
news:%
Hello,Pourquoi encore et toujours IF <BOOLEEN>=TRUE THEN
alors qu'il est si simple (et plus correct d'écrire) d'écrire
IF <BOOLEEN> THEN
ce n'est ni "plus" ni "moins" correct. Ce n'est pas non plus
"plus" ou "moins" simple. C'est une habitude, c'est tout.
On notera au passage que le code généré est exactement le
même, qu'on mette le " = TRUE " ou pas. Le compilateur
est un grand garçon, qui sait se débrouiller tout seul.De plus il me semble que la valeur par défaut du optionbutton est value
doncon doity pouvoir tester directement if optionbutton(i) then
Ca par contre c'est un **mauvais** conseil.
1/ Programmer, ce n'est pas seulement saisir du code qui
fonctionne: c'est aussi écrire du code lisible
par un tiers. Utiliser la propriété par défaut d'un
composant nuit gravement à la lisibilité, en plus d'être
une source non négligeable d'erreurs. Ces erreurs seront
en plus difficiles à détecter.
2/ Ca ne change rien à la vitesse. J'ajouterais pour faire
bonne mesure que si on en est réduit à faire ce genre de
bidouilles malsaines et douteuses pour espérer grapiller
d'illusoires millisecondes, alors on doit revoir en
profondeur son implémentation. Le performances ne se
gagnent JAMAIS en jouant avec la syntaxe du langage.
L'utilisation d'artifices n'est jamais une bonne idée:
on sacrifie la lisibilité à la flemmardise du clavier :-(
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
<....>
Par contre en terme d'alogorithmie je persiste à dire que c'est une
incompréhension de ce qu'est un booleéen.
"Si vrai est vrai alors" est un manque de logique, même si cela marche car
dans ce cas on peut aussi écrire :
SI <BOOLEEN> = (1+1=2) ALORS.
<....>
Par contre en terme d'alogorithmie je persiste à dire que c'est une
incompréhension de ce qu'est un booleéen.
"Si vrai est vrai alors" est un manque de logique, même si cela marche car
dans ce cas on peut aussi écrire :
SI <BOOLEEN> = (1+1=2) ALORS.
<....>
Par contre en terme d'alogorithmie je persiste à dire que c'est une
incompréhension de ce qu'est un booleéen.
"Si vrai est vrai alors" est un manque de logique, même si cela marche car
dans ce cas on peut aussi écrire :
SI <BOOLEEN> = (1+1=2) ALORS.
"Patrice Henrio" a écrit dans le message de
news:<....>
Par contre en terme d'alogorithmie je persiste à dire que c'est une
incompréhension de ce qu'est un booleéen.
"Si vrai est vrai alors" est un manque de logique, même si cela marche
car
dans ce cas on peut aussi écrire :
SI <BOOLEEN> = (1+1=2) ALORS.
Je suis d'accord et dans bien des cas, je n'écris pas le "= TRUE",
pour les expressions simples.
Cependant, il faut AMHA considérer le contexte plutôt que le dogme.
Exemple basique, mais parlant:
Si je dois écrire un classique "va-et-vient", dont l'équation
logique est S = A./B + /A.B, je préfère vraimet lire:
if ( (A = True ) and (B = False) ) OR _
( (A = False) and (B = True ) ) Then
...
Que:
If (A And Not B) Or (Not A And B) Then
...
Pour la deuxième forme, si je n'ai pas écrit le programme, je dois
prendre un papier et un crayon pour vérifier. Pour la première, je
"vois" ce que fait le code: L'ajout (inutile j'en conviens) des
"= TRUE", en plus du fait que c'est plus joli car ça rend l'expression
symétrique à l'oeil, donne un éclairage sur l'intention du programmeur.
C'est utilie quand on débuggue un truc qu'on a pas écrit soit même.
Je parle d'expérience. Je dois souvent intervenir sur du code complexe,
dns des programes qui font des dizaines de milliers de lignes. Si je dois
(et hélas c'est souvent le cas) m'interroger toutes les 10 lignes pour
essayer de piger ce que le (..censuré..) de programmeur a bien voulu
faire, ça peut vous transformer une journée paisible en cauchemar :-))
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news:elCsjZSqEHA.592@TK2MSFTNGP11.phx.gbl...
<....>
Par contre en terme d'alogorithmie je persiste à dire que c'est une
incompréhension de ce qu'est un booleéen.
"Si vrai est vrai alors" est un manque de logique, même si cela marche
car
dans ce cas on peut aussi écrire :
SI <BOOLEEN> = (1+1=2) ALORS.
Je suis d'accord et dans bien des cas, je n'écris pas le "= TRUE",
pour les expressions simples.
Cependant, il faut AMHA considérer le contexte plutôt que le dogme.
Exemple basique, mais parlant:
Si je dois écrire un classique "va-et-vient", dont l'équation
logique est S = A./B + /A.B, je préfère vraimet lire:
if ( (A = True ) and (B = False) ) OR _
( (A = False) and (B = True ) ) Then
...
Que:
If (A And Not B) Or (Not A And B) Then
...
Pour la deuxième forme, si je n'ai pas écrit le programme, je dois
prendre un papier et un crayon pour vérifier. Pour la première, je
"vois" ce que fait le code: L'ajout (inutile j'en conviens) des
"= TRUE", en plus du fait que c'est plus joli car ça rend l'expression
symétrique à l'oeil, donne un éclairage sur l'intention du programmeur.
C'est utilie quand on débuggue un truc qu'on a pas écrit soit même.
Je parle d'expérience. Je dois souvent intervenir sur du code complexe,
dns des programes qui font des dizaines de milliers de lignes. Si je dois
(et hélas c'est souvent le cas) m'interroger toutes les 10 lignes pour
essayer de piger ce que le (..censuré..) de programmeur a bien voulu
faire, ça peut vous transformer une journée paisible en cauchemar :-))
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Patrice Henrio" a écrit dans le message de
news:<....>
Par contre en terme d'alogorithmie je persiste à dire que c'est une
incompréhension de ce qu'est un booleéen.
"Si vrai est vrai alors" est un manque de logique, même si cela marche
car
dans ce cas on peut aussi écrire :
SI <BOOLEEN> = (1+1=2) ALORS.
Je suis d'accord et dans bien des cas, je n'écris pas le "= TRUE",
pour les expressions simples.
Cependant, il faut AMHA considérer le contexte plutôt que le dogme.
Exemple basique, mais parlant:
Si je dois écrire un classique "va-et-vient", dont l'équation
logique est S = A./B + /A.B, je préfère vraimet lire:
if ( (A = True ) and (B = False) ) OR _
( (A = False) and (B = True ) ) Then
...
Que:
If (A And Not B) Or (Not A And B) Then
...
Pour la deuxième forme, si je n'ai pas écrit le programme, je dois
prendre un papier et un crayon pour vérifier. Pour la première, je
"vois" ce que fait le code: L'ajout (inutile j'en conviens) des
"= TRUE", en plus du fait que c'est plus joli car ça rend l'expression
symétrique à l'oeil, donne un éclairage sur l'intention du programmeur.
C'est utilie quand on débuggue un truc qu'on a pas écrit soit même.
Je parle d'expérience. Je dois souvent intervenir sur du code complexe,
dns des programes qui font des dizaines de milliers de lignes. Si je dois
(et hélas c'est souvent le cas) m'interroger toutes les 10 lignes pour
essayer de piger ce que le (..censuré..) de programmeur a bien voulu
faire, ça peut vous transformer une journée paisible en cauchemar :-))
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
OK j'ai bien compris ton problème.
En fait <BOOLEEN>=true te prémunis des programmeurs qui utilisent les
valeurs entières différentes de 0 pour true que l'on trouvait dans
basic au début, style
If A mod B then
ou A mod B donne le reste de la division entière de A par B.
J'admets que là aussi cela me faisait râler.
"Jean-Marc" a écrit dans le message de news:
415fc216$0$9019$
> "Patrice Henrio" a écrit dans le message de
> news:
>> <....>
>> Par contre en terme d'alogorithmie je persiste à dire que c'est une
>> incompréhension de ce qu'est un booleéen.
>>
>> "Si vrai est vrai alors" est un manque de logique, même si cela marche
>> car
>> dans ce cas on peut aussi écrire :
>> SI <BOOLEEN> = (1+1=2) ALORS.
>
> Je suis d'accord et dans bien des cas, je n'écris pas le "= TRUE",
> pour les expressions simples.
>
> Cependant, il faut AMHA considérer le contexte plutôt que le dogme.
> Exemple basique, mais parlant:
> Si je dois écrire un classique "va-et-vient", dont l'équation
> logique est S = A./B + /A.B, je préfère vraimet lire:
>
> if ( (A = True ) and (B = False) ) OR _
> ( (A = False) and (B = True ) ) Then
> ...
>
> Que:
>
> If (A And Not B) Or (Not A And B) Then
> ...
>
> Pour la deuxième forme, si je n'ai pas écrit le programme, je dois
> prendre un papier et un crayon pour vérifier. Pour la première, je
> "vois" ce que fait le code: L'ajout (inutile j'en conviens) des
> "= TRUE", en plus du fait que c'est plus joli car ça rend l'expression
> symétrique à l'oeil, donne un éclairage sur l'intention du programmeur.
> C'est utilie quand on débuggue un truc qu'on a pas écrit soit même.
>
> Je parle d'expérience. Je dois souvent intervenir sur du code complexe,
> dns des programes qui font des dizaines de milliers de lignes. Si je
> (et hélas c'est souvent le cas) m'interroger toutes les 10 lignes pour
> essayer de piger ce que le (..censuré..) de programmeur a bien voulu
> faire, ça peut vous transformer une journée paisible en cauchemar :-))
>
> --
> Jean-marc
> "There are only 10 kind of people
> those who understand binary and those who don't."
>
>
OK j'ai bien compris ton problème.
En fait <BOOLEEN>=true te prémunis des programmeurs qui utilisent les
valeurs entières différentes de 0 pour true que l'on trouvait dans
basic au début, style
If A mod B then
ou A mod B donne le reste de la division entière de A par B.
J'admets que là aussi cela me faisait râler.
"Jean-Marc" <nospamjean_marc_n2@yahoo.fr> a écrit dans le message de news:
415fc216$0$9019$ba620e4c@news.skynet.be...
> "Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
> news:elCsjZSqEHA.592@TK2MSFTNGP11.phx.gbl...
>> <....>
>> Par contre en terme d'alogorithmie je persiste à dire que c'est une
>> incompréhension de ce qu'est un booleéen.
>>
>> "Si vrai est vrai alors" est un manque de logique, même si cela marche
>> car
>> dans ce cas on peut aussi écrire :
>> SI <BOOLEEN> = (1+1=2) ALORS.
>
> Je suis d'accord et dans bien des cas, je n'écris pas le "= TRUE",
> pour les expressions simples.
>
> Cependant, il faut AMHA considérer le contexte plutôt que le dogme.
> Exemple basique, mais parlant:
> Si je dois écrire un classique "va-et-vient", dont l'équation
> logique est S = A./B + /A.B, je préfère vraimet lire:
>
> if ( (A = True ) and (B = False) ) OR _
> ( (A = False) and (B = True ) ) Then
> ...
>
> Que:
>
> If (A And Not B) Or (Not A And B) Then
> ...
>
> Pour la deuxième forme, si je n'ai pas écrit le programme, je dois
> prendre un papier et un crayon pour vérifier. Pour la première, je
> "vois" ce que fait le code: L'ajout (inutile j'en conviens) des
> "= TRUE", en plus du fait que c'est plus joli car ça rend l'expression
> symétrique à l'oeil, donne un éclairage sur l'intention du programmeur.
> C'est utilie quand on débuggue un truc qu'on a pas écrit soit même.
>
> Je parle d'expérience. Je dois souvent intervenir sur du code complexe,
> dns des programes qui font des dizaines de milliers de lignes. Si je
> (et hélas c'est souvent le cas) m'interroger toutes les 10 lignes pour
> essayer de piger ce que le (..censuré..) de programmeur a bien voulu
> faire, ça peut vous transformer une journée paisible en cauchemar :-))
>
> --
> Jean-marc
> "There are only 10 kind of people
> those who understand binary and those who don't."
>
>
OK j'ai bien compris ton problème.
En fait <BOOLEEN>=true te prémunis des programmeurs qui utilisent les
valeurs entières différentes de 0 pour true que l'on trouvait dans
basic au début, style
If A mod B then
ou A mod B donne le reste de la division entière de A par B.
J'admets que là aussi cela me faisait râler.
"Jean-Marc" a écrit dans le message de news:
415fc216$0$9019$
> "Patrice Henrio" a écrit dans le message de
> news:
>> <....>
>> Par contre en terme d'alogorithmie je persiste à dire que c'est une
>> incompréhension de ce qu'est un booleéen.
>>
>> "Si vrai est vrai alors" est un manque de logique, même si cela marche
>> car
>> dans ce cas on peut aussi écrire :
>> SI <BOOLEEN> = (1+1=2) ALORS.
>
> Je suis d'accord et dans bien des cas, je n'écris pas le "= TRUE",
> pour les expressions simples.
>
> Cependant, il faut AMHA considérer le contexte plutôt que le dogme.
> Exemple basique, mais parlant:
> Si je dois écrire un classique "va-et-vient", dont l'équation
> logique est S = A./B + /A.B, je préfère vraimet lire:
>
> if ( (A = True ) and (B = False) ) OR _
> ( (A = False) and (B = True ) ) Then
> ...
>
> Que:
>
> If (A And Not B) Or (Not A And B) Then
> ...
>
> Pour la deuxième forme, si je n'ai pas écrit le programme, je dois
> prendre un papier et un crayon pour vérifier. Pour la première, je
> "vois" ce que fait le code: L'ajout (inutile j'en conviens) des
> "= TRUE", en plus du fait que c'est plus joli car ça rend l'expression
> symétrique à l'oeil, donne un éclairage sur l'intention du programmeur.
> C'est utilie quand on débuggue un truc qu'on a pas écrit soit même.
>
> Je parle d'expérience. Je dois souvent intervenir sur du code complexe,
> dns des programes qui font des dizaines de milliers de lignes. Si je
> (et hélas c'est souvent le cas) m'interroger toutes les 10 lignes pour
> essayer de piger ce que le (..censuré..) de programmeur a bien voulu
> faire, ça peut vous transformer une journée paisible en cauchemar :-))
>
> --
> Jean-marc
> "There are only 10 kind of people
> those who understand binary and those who don't."
>
>
Pourquoi encore et toujours IF <BOOLEEN>=TRUE THEN
alors qu'il est si simple (et plus correct d'écrire) d'écrire
IF <BOOLEEN> THEN
De plus il me semble que la valeur par défaut du optionbutton est value
on doity pouvoir tester directement if optionbutton(i) then
Sinon c'est vrai que ton code est préférable car plus rapide
"CoolCubix" a écrit dans le message de news:
> Bonjour,
>
> Ta solution n'est pas mal mais elle continue de tester les autres. Voici
> un
> code plus simple d'accès car c'est une simple procédure à appeler. De
> l'emploi d'un Select Case est inutile pour un résultat Boolean.
>
> Code :
>
> Public Function LequelEstCoche()
> Dim i as Integer
> For i = 0 To 2 'Remplacer 2 par le nombre de OptionButton
> If OptionButton.Item(i).Value = True Then 'Remplacer
> par le nom des contrôles
> LequelEstCoche = i
> Exit Function
> End If
> Next
> End Function
>
> Utilisation :
>
> Placer le code dans la Form ou dans un Module.
> La fonction renvoie la propriété Index du OptionButton coché.
> Remplacer 2 par le nombre de OptionButton.
> Remplacer OptionButton par le nom des contrôles
>
>
> ;-D
> --
> C
> C U
> O B
> O !
> L X
>
> "dav" a écrit dans le message de
> news:415c3cb9$0$3681$
>> j'ai 3 OptionButton sur ma feuille et je voudrais savoir lequel est
>> coché.....
>>
>> j'ai envisagé :
>>
>> dim i as integer
>> for i = 0 to 2
>> select case Option1(i).Value
>> case true
>>
>> case false
>> end select
>> next
>>
>> qu'en pensez vous ? y'a mieux ?
>> merci,
>> dav
>
>
>
>
>
Pourquoi encore et toujours IF <BOOLEEN>=TRUE THEN
alors qu'il est si simple (et plus correct d'écrire) d'écrire
IF <BOOLEEN> THEN
De plus il me semble que la valeur par défaut du optionbutton est value
on doity pouvoir tester directement if optionbutton(i) then
Sinon c'est vrai que ton code est préférable car plus rapide
"CoolCubix" <newscubix@wanadoo.fr> a écrit dans le message de news:
eUlKzTKqEHA.1960@TK2MSFTNGP10.phx.gbl...
> Bonjour,
>
> Ta solution n'est pas mal mais elle continue de tester les autres. Voici
> un
> code plus simple d'accès car c'est une simple procédure à appeler. De
> l'emploi d'un Select Case est inutile pour un résultat Boolean.
>
> Code :
>
> Public Function LequelEstCoche()
> Dim i as Integer
> For i = 0 To 2 'Remplacer 2 par le nombre de OptionButton
> If OptionButton.Item(i).Value = True Then 'Remplacer
> par le nom des contrôles
> LequelEstCoche = i
> Exit Function
> End If
> Next
> End Function
>
> Utilisation :
>
> Placer le code dans la Form ou dans un Module.
> La fonction renvoie la propriété Index du OptionButton coché.
> Remplacer 2 par le nombre de OptionButton.
> Remplacer OptionButton par le nom des contrôles
>
>
> ;-D
> --
> C
> C U
> O B
> O !
> L X
>
> "dav" <dav49400@wanadoo.fr> a écrit dans le message de
> news:415c3cb9$0$3681$8fcfb975@news.wanadoo.fr...
>> j'ai 3 OptionButton sur ma feuille et je voudrais savoir lequel est
>> coché.....
>>
>> j'ai envisagé :
>>
>> dim i as integer
>> for i = 0 to 2
>> select case Option1(i).Value
>> case true
>>
>> case false
>> end select
>> next
>>
>> qu'en pensez vous ? y'a mieux ?
>> merci,
>> dav
>
>
>
>
>
Pourquoi encore et toujours IF <BOOLEEN>=TRUE THEN
alors qu'il est si simple (et plus correct d'écrire) d'écrire
IF <BOOLEEN> THEN
De plus il me semble que la valeur par défaut du optionbutton est value
on doity pouvoir tester directement if optionbutton(i) then
Sinon c'est vrai que ton code est préférable car plus rapide
"CoolCubix" a écrit dans le message de news:
> Bonjour,
>
> Ta solution n'est pas mal mais elle continue de tester les autres. Voici
> un
> code plus simple d'accès car c'est une simple procédure à appeler. De
> l'emploi d'un Select Case est inutile pour un résultat Boolean.
>
> Code :
>
> Public Function LequelEstCoche()
> Dim i as Integer
> For i = 0 To 2 'Remplacer 2 par le nombre de OptionButton
> If OptionButton.Item(i).Value = True Then 'Remplacer
> par le nom des contrôles
> LequelEstCoche = i
> Exit Function
> End If
> Next
> End Function
>
> Utilisation :
>
> Placer le code dans la Form ou dans un Module.
> La fonction renvoie la propriété Index du OptionButton coché.
> Remplacer 2 par le nombre de OptionButton.
> Remplacer OptionButton par le nom des contrôles
>
>
> ;-D
> --
> C
> C U
> O B
> O !
> L X
>
> "dav" a écrit dans le message de
> news:415c3cb9$0$3681$
>> j'ai 3 OptionButton sur ma feuille et je voudrais savoir lequel est
>> coché.....
>>
>> j'ai envisagé :
>>
>> dim i as integer
>> for i = 0 to 2
>> select case Option1(i).Value
>> case true
>>
>> case false
>> end select
>> next
>>
>> qu'en pensez vous ? y'a mieux ?
>> merci,
>> dav
>
>
>
>
>
En apprenant une langue, on commence par traduire dans sa tête en français
pour comprendre, puis avec l'expérience, les mots sont directements reliés
aux idées qu'elles évoquent. En VB c'est beaucoup plus difficile, car ce ne
sont pas des phrases mais des expressions, des fragments d'idées qui se
regroupent en plusieurs lignes. En lisant un code qu'on a pas fait, c'est
plus facile d'avoir une expression la plus proche du langage humain.
Dans l'exemple que je REcite :
<------------------ [1] ------------------>
if ( (A = True ) and (B = False) ) OR _
( (A = False) and (B = True ) ) Then
<------------------ [2] ------------------>
If (A And Not B) Or (Not A And B) Then
La solution 2 est vraiment plus lisible, plus humaine, et non pas "machine"
et très ''binaire".
Perso, c'est mon truc, mon point de vue, après chacun ses méthodes ! Tant
que ça ne ralentit pas le programme...
En apprenant une langue, on commence par traduire dans sa tête en français
pour comprendre, puis avec l'expérience, les mots sont directements reliés
aux idées qu'elles évoquent. En VB c'est beaucoup plus difficile, car ce ne
sont pas des phrases mais des expressions, des fragments d'idées qui se
regroupent en plusieurs lignes. En lisant un code qu'on a pas fait, c'est
plus facile d'avoir une expression la plus proche du langage humain.
Dans l'exemple que je REcite :
<------------------ [1] ------------------>
if ( (A = True ) and (B = False) ) OR _
( (A = False) and (B = True ) ) Then
<------------------ [2] ------------------>
If (A And Not B) Or (Not A And B) Then
La solution 2 est vraiment plus lisible, plus humaine, et non pas "machine"
et très ''binaire".
Perso, c'est mon truc, mon point de vue, après chacun ses méthodes ! Tant
que ça ne ralentit pas le programme...
En apprenant une langue, on commence par traduire dans sa tête en français
pour comprendre, puis avec l'expérience, les mots sont directements reliés
aux idées qu'elles évoquent. En VB c'est beaucoup plus difficile, car ce ne
sont pas des phrases mais des expressions, des fragments d'idées qui se
regroupent en plusieurs lignes. En lisant un code qu'on a pas fait, c'est
plus facile d'avoir une expression la plus proche du langage humain.
Dans l'exemple que je REcite :
<------------------ [1] ------------------>
if ( (A = True ) and (B = False) ) OR _
( (A = False) and (B = True ) ) Then
<------------------ [2] ------------------>
If (A And Not B) Or (Not A And B) Then
La solution 2 est vraiment plus lisible, plus humaine, et non pas "machine"
et très ''binaire".
Perso, c'est mon truc, mon point de vue, après chacun ses méthodes ! Tant
que ça ne ralentit pas le programme...
Salut,
Et si, tout en restant dans les expressions logiques, et en retournant
à la question initiale, nous écrivions la fonction LequelEstCoche()
comme ceci :
Public Function LequelEstCoche() as long
LequelEstCoche = - OptionButton.Item(1).Value _
- 2 * OptionButton.Item(2).Value _
- 3 * OptionButton.Item(3).Value
End Function
On peut bien sûr placer le tout dans une boucle pour un nombre différent
d'options, mais comme ça, c'est la version la plus performante...
Salut,
Et si, tout en restant dans les expressions logiques, et en retournant
à la question initiale, nous écrivions la fonction LequelEstCoche()
comme ceci :
Public Function LequelEstCoche() as long
LequelEstCoche = - OptionButton.Item(1).Value _
- 2 * OptionButton.Item(2).Value _
- 3 * OptionButton.Item(3).Value
End Function
On peut bien sûr placer le tout dans une boucle pour un nombre différent
d'options, mais comme ça, c'est la version la plus performante...
Salut,
Et si, tout en restant dans les expressions logiques, et en retournant
à la question initiale, nous écrivions la fonction LequelEstCoche()
comme ceci :
Public Function LequelEstCoche() as long
LequelEstCoche = - OptionButton.Item(1).Value _
- 2 * OptionButton.Item(2).Value _
- 3 * OptionButton.Item(3).Value
End Function
On peut bien sûr placer le tout dans une boucle pour un nombre différent
d'options, mais comme ça, c'est la version la plus performante...
"tetofr" a écrit dans le message
de
news:VAX8d.4091$Salut,
Et si, tout en restant dans les expressions logiques, et en retournant
à la question initiale, nous écrivions la fonction LequelEstCoche()
comme ceci :
Public Function LequelEstCoche() as long
LequelEstCoche = - OptionButton.Item(1).Value _
- 2 * OptionButton.Item(2).Value _
- 3 * OptionButton.Item(3).Value
End Function
On peut bien sûr placer le tout dans une boucle pour un nombre différent
d'options, mais comme ça, c'est la version la plus performante...
Hello,
NON, on ne doit PAS faire ça.
Tu fais de l'arithmétique sur des Booléens!
Ca ne veut rien dire 3 * True ou 3 * False.
Tu utilises le fait que le True du Basic vaut
-1 pour faire une IGNOBLE tambouille.
A déconseiller absolument.
D'autre part, tu parles de "performance" ? Qui a besoin
de performances pour tester un Bouton Option ??
La seule performance que je vois ici, c'est éventuellement
qu'un "programmeur" (notez bien les guillemets, hein...) qui
ose faire ça gagne le 1er prix de
"Programmation de Goret"! Tu parles d'une performance :-(
Et si on avait besoin de ce genre de perfs, alors ce ne
serait de toute façon pas la bonne méthode (qui serait alors
de renseigner une variable à chaque changement d'état).
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"tetofr" <tetofr.pas.de.pub.@.pas.de.pub.free.fr> a écrit dans le message
de
news:VAX8d.4091$1p.3641@nntpserver.swip.net...
Salut,
Et si, tout en restant dans les expressions logiques, et en retournant
à la question initiale, nous écrivions la fonction LequelEstCoche()
comme ceci :
Public Function LequelEstCoche() as long
LequelEstCoche = - OptionButton.Item(1).Value _
- 2 * OptionButton.Item(2).Value _
- 3 * OptionButton.Item(3).Value
End Function
On peut bien sûr placer le tout dans une boucle pour un nombre différent
d'options, mais comme ça, c'est la version la plus performante...
Hello,
NON, on ne doit PAS faire ça.
Tu fais de l'arithmétique sur des Booléens!
Ca ne veut rien dire 3 * True ou 3 * False.
Tu utilises le fait que le True du Basic vaut
-1 pour faire une IGNOBLE tambouille.
A déconseiller absolument.
D'autre part, tu parles de "performance" ? Qui a besoin
de performances pour tester un Bouton Option ??
La seule performance que je vois ici, c'est éventuellement
qu'un "programmeur" (notez bien les guillemets, hein...) qui
ose faire ça gagne le 1er prix de
"Programmation de Goret"! Tu parles d'une performance :-(
Et si on avait besoin de ce genre de perfs, alors ce ne
serait de toute façon pas la bonne méthode (qui serait alors
de renseigner une variable à chaque changement d'état).
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"tetofr" a écrit dans le message
de
news:VAX8d.4091$Salut,
Et si, tout en restant dans les expressions logiques, et en retournant
à la question initiale, nous écrivions la fonction LequelEstCoche()
comme ceci :
Public Function LequelEstCoche() as long
LequelEstCoche = - OptionButton.Item(1).Value _
- 2 * OptionButton.Item(2).Value _
- 3 * OptionButton.Item(3).Value
End Function
On peut bien sûr placer le tout dans une boucle pour un nombre différent
d'options, mais comme ça, c'est la version la plus performante...
Hello,
NON, on ne doit PAS faire ça.
Tu fais de l'arithmétique sur des Booléens!
Ca ne veut rien dire 3 * True ou 3 * False.
Tu utilises le fait que le True du Basic vaut
-1 pour faire une IGNOBLE tambouille.
A déconseiller absolument.
D'autre part, tu parles de "performance" ? Qui a besoin
de performances pour tester un Bouton Option ??
La seule performance que je vois ici, c'est éventuellement
qu'un "programmeur" (notez bien les guillemets, hein...) qui
ose faire ça gagne le 1er prix de
"Programmation de Goret"! Tu parles d'une performance :-(
Et si on avait besoin de ce genre de perfs, alors ce ne
serait de toute façon pas la bonne méthode (qui serait alors
de renseigner une variable à chaque changement d'état).
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."