Je crois me souvenir que l'inconvénient du IIf provient du fait que la partie then et la partie else sont évaluées quelle que soit la valeur de la condition, ce qui n'est pas le cas du If then else. Il faudrait tester IIf(X<>0,1/x,x)
"Guy DETIENNE" <gd@NOSPAM.tchao.be> a écrit dans le message de news:
e$bd0TwAFHA.3988@TK2MSFTNGP11.phx.gbl...
Salut ;O)
Ca équivaut à la structure If Then Else suivante (compréhenssible par tout
programmeur) :
If dummy% < 95 then
dummy% = dummy% + 32
Else
dummy% = dummy% + 100
End If
Guy
"Jean-Luc" <jvanschoorisse@nordnet.fr> a écrit dans le message de
news:e802ae61.0501250847.5b4b9685@posting.google.com...
Je crois me souvenir que l'inconvénient du IIf provient du fait que la
partie then et la partie else sont évaluées quelle que soit la valeur de la
condition, ce qui n'est pas le cas du If then else.
Il faudrait tester
IIf(X<>0,1/x,x)
Je crois me souvenir que l'inconvénient du IIf provient du fait que la partie then et la partie else sont évaluées quelle que soit la valeur de la condition, ce qui n'est pas le cas du If then else. Il faudrait tester IIf(X<>0,1/x,x)
ng
Salut,
Oui en effet, Iff étant une fonction (et non une instruction), il agit comme telle : il évalue tous les arguments passés ce qui peux provoquer une ereur avec des codes du type :
Dim oObjet As Object
'//oObjet est un objet divers '// ... code ...
Dim strTexte As String strTexte = IIf( oObjet Is Nothing, "Objet est nothing", oObjet.Text)
Ainsi dans ce code si oObjet n'est pas instancié (nothing), oObjet.Text sera *quand* *même* évalué et provoquera une erreur.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Patrice Henrio wrote:
"Guy DETIENNE" a écrit dans le message de news: e$
Salut ;O)
Ca équivaut à la structure If Then Else suivante (compréhenssible par tout programmeur) :
If dummy% < 95 then dummy% = dummy% + 32 Else dummy% = dummy% + 100 End If
Je crois me souvenir que l'inconvénient du IIf provient du fait que la partie then et la partie else sont évaluées quelle que soit la valeur de la condition, ce qui n'est pas le cas du If then else. Il faudrait tester IIf(X<>0,1/x,x)
Salut,
Oui en effet, Iff étant une fonction (et non une instruction), il agit comme
telle : il évalue tous les arguments passés ce qui peux provoquer une ereur
avec des codes du type :
Dim oObjet As Object
'//oObjet est un objet divers
'// ... code ...
Dim strTexte As String
strTexte = IIf( oObjet Is Nothing, "Objet est nothing", oObjet.Text)
Ainsi dans ce code si oObjet n'est pas instancié (nothing), oObjet.Text sera
*quand* *même* évalué et provoquera une erreur.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Patrice Henrio wrote:
"Guy DETIENNE" <gd@NOSPAM.tchao.be> a écrit dans le message de news:
e$bd0TwAFHA.3988@TK2MSFTNGP11.phx.gbl...
Salut ;O)
Ca équivaut à la structure If Then Else suivante (compréhenssible
par tout programmeur) :
If dummy% < 95 then
dummy% = dummy% + 32
Else
dummy% = dummy% + 100
End If
Guy
"Jean-Luc" <jvanschoorisse@nordnet.fr> a écrit dans le message de
news:e802ae61.0501250847.5b4b9685@posting.google.com...
Je crois me souvenir que l'inconvénient du IIf provient du fait que la
partie then et la partie else sont évaluées quelle que soit la valeur
de la condition, ce qui n'est pas le cas du If then else.
Il faudrait tester
IIf(X<>0,1/x,x)
Oui en effet, Iff étant une fonction (et non une instruction), il agit comme telle : il évalue tous les arguments passés ce qui peux provoquer une ereur avec des codes du type :
Dim oObjet As Object
'//oObjet est un objet divers '// ... code ...
Dim strTexte As String strTexte = IIf( oObjet Is Nothing, "Objet est nothing", oObjet.Text)
Ainsi dans ce code si oObjet n'est pas instancié (nothing), oObjet.Text sera *quand* *même* évalué et provoquera une erreur.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Patrice Henrio wrote:
"Guy DETIENNE" a écrit dans le message de news: e$
Salut ;O)
Ca équivaut à la structure If Then Else suivante (compréhenssible par tout programmeur) :
If dummy% < 95 then dummy% = dummy% + 32 Else dummy% = dummy% + 100 End If
Je crois me souvenir que l'inconvénient du IIf provient du fait que la partie then et la partie else sont évaluées quelle que soit la valeur de la condition, ce qui n'est pas le cas du If then else. Il faudrait tester IIf(X<>0,1/x,x)
Zoury
Bonjour!
pour ajouter de la précision aux autres message, le signe % qui suit le nom de la variable (dummy%) signifie qu'elle représente un Integer soit un entier.
-- Cordialement Yanick MVP pour Visual Basic "Jean-Luc" a écrit dans le message de news:
pour ajouter de la précision aux autres message, le signe % qui suit le nom
de la variable (dummy%) signifie qu'elle représente un Integer soit un
entier.
--
Cordialement
Yanick
MVP pour Visual Basic
"Jean-Luc" <jvanschoorisse@nordnet.fr> a écrit dans le message de
news:e802ae61.0501250847.5b4b9685@posting.google.com...
pour ajouter de la précision aux autres message, le signe % qui suit le nom de la variable (dummy%) signifie qu'elle représente un Integer soit un entier.
-- Cordialement Yanick MVP pour Visual Basic "Jean-Luc" a écrit dans le message de news:
Je pense d'ailleurs que ce genre de code est à éviter (ca doit etre là pour de la compatibilité basic).
Donc au lieu de Dim dummy% on préférera Dim dummy As Integer
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Zoury wrote:
Bonjour!
pour ajouter de la précision aux autres message, le signe % qui suit le nom de la variable (dummy%) signifie qu'elle représente un Integer soit un entier.
Je pense d'ailleurs que ce genre de code est à éviter (ca doit etre là pour
de la compatibilité basic).
Donc au lieu de Dim dummy% on préférera Dim dummy As Integer
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Zoury wrote:
Bonjour!
pour ajouter de la précision aux autres message, le signe % qui suit
le nom de la variable (dummy%) signifie qu'elle représente un Integer
soit un entier.
Je pense d'ailleurs que ce genre de code est à éviter (ca doit etre là pour de la compatibilité basic).
Donc au lieu de Dim dummy% on préférera Dim dummy As Integer
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Zoury wrote:
Bonjour!
pour ajouter de la précision aux autres message, le signe % qui suit le nom de la variable (dummy%) signifie qu'elle représente un Integer soit un entier.