OVH Cloud OVH Cloud

VBA -if OR AND booleen

22 réponses
Avatar
twinley
Bonjour à tous,

Je baisse les bras.

Comment écrire le test suivant en VBA ?

if [IsError(sheets("graph1").[S12] or IsError(sheets("graph1").[U12]] or
[(sheets("graph1").[I12] and (sheets("graph1").[J12]= ""] then
msgbox "ouf, ça marche enfin"

si S12 ou U12 sont en erreur ou I12 et J12 sont vides


merci pour votre aide

twinley

10 réponses

1 2 3
Avatar
GD
;o)))
c'est le i qui voulais simplement se mettre en AVant !!!:
---------v
MsgBox
iif(or(and(graph1!I12="",graph1!J12=""),iserror(graph1!S12),iserror(graph1!U
12)) ,"ouf","plouf !")

??? pas de commentaire pour un diner limougeau
pffff...
Avatar
twinley
vous avez dit bizarre ?

sous xp pro et xl2003 :

la deux provoque une erreur 13 à l'éxecution mais elle est compilée sans
erreur.

la une avec les "i" tourne bien...

à+twinley


AV wrote:
Bizarre ces "i" se sont insérés dan la réponse ! (qui fonctionne quand même..)

MsgBox
[if(or(and(graph1!I12="",graph1!J12=""),iserror(graph1!S12),iserror(graph1!U12))
,"ouf","plouf !")]

AV




Avatar
AV
Pffff...
pour l'ensemble de "ton oeuvre" !

AV
Avatar
twinley
effectivement c'est une oeuvre qui ne manque pas d'air, entièrement
pompée avec le code des maîtres...

ce qui me rappelle un mot :
un type vient voir Sacha Guitry et le majordome à l'entrée demande au
visiteur :
-c'est pour le Maître ?
- non, non, c'est pour le voir...

à+twinley

AV wrote:
Pffff...
pour l'ensemble de "ton oeuvre" !

AV




Avatar
docm
Pour ne pas avoir à mémoriser l'ordre de "Priorité des opérateurs" dans une
expression, mieux vaut toujours mettre des parenthèses pour ne laisser
aucune ambiguité.

If condition1 Or condition2 And condition3 Then ' est ambigu.

If (condition1 Or condition2) And condition3 Then ' n'est pas ambigu.

If condition1 Or (condition2 And condition3) Then ' n'est pas ambigu.

If condition1 Or condition2 And condition3 Then
est l'équivalent de
If condition1 Or (condition2 And condition3) Then
parce que le AND est toujours évalué avant le OR dans une expression.

Pour éviter toute ambiguité, on met des parenthèses car
les opérations situées à l'intérieur de parenthèses sont toujours traitées
avant les autres.

Docm.


"twinley" wrote in message
news:
Merci docm, j'ai du passer pas loin et puis je me suis perdu.
Écrit comme tu l'as mis c'est limpide. Je retiens la méthode !
Déjà pour bien expliquer ce que je cherche...

à+twinley

docm wrote:
Bonjour.

Pour éviter toute confusion, utiliser plus de crochets:

Si ( S12 est en erreur ou U12 est en erreur ) ou ( I12 est vide et J12
est


vide) Alors

Salutations


"twinley" wrote in message
news:

Bonjour à tous,

Je baisse les bras.

Comment écrire le test suivant en VBA ?

if [IsError(sheets("graph1").[S12] or IsError(sheets("graph1").[U12]] or
[(sheets("graph1").[I12] and (sheets("graph1").[J12]= ""] then
msgbox "ouf, ça marche enfin"

si S12 ou U12 sont en erreur ou I12 et J12 sont vides


merci pour votre aide

twinley









Avatar
twinley
Bonsoir,

merci pour la méthodologie.
Je n'avais même pas l'excuse de la grippe... mon cerveau était à
l'arrêt, tout simplement.

8-)

à+twinley


docm wrote:
Pour ne pas avoir à mémoriser l'ordre de "Priorité des opérateurs" dans une
expression, mieux vaut toujours mettre des parenthèses pour ne laisser
aucune ambiguité.

If condition1 Or condition2 And condition3 Then ' est ambigu.

If (condition1 Or condition2) And condition3 Then ' n'est pas ambigu.

If condition1 Or (condition2 And condition3) Then ' n'est pas ambigu.

If condition1 Or condition2 And condition3 Then
est l'équivalent de
If condition1 Or (condition2 And condition3) Then
parce que le AND est toujours évalué avant le OR dans une expression.

Pour éviter toute ambiguité, on met des parenthèses car
les opérations situées à l'intérieur de parenthèses sont toujours traitées
avant les autres.

Docm.


"twinley" wrote in message
news:

Merci docm, j'ai du passer pas loin et puis je me suis perdu.
Écrit comme tu l'as mis c'est limpide. Je retiens la méthode !
Déjà pour bien expliquer ce que je cherche...

à+twinley

docm wrote:

Bonjour.

Pour éviter toute confusion, utiliser plus de crochets:

Si ( S12 est en erreur ou U12 est en erreur ) ou ( I12 est vide et J12



est

vide) Alors

Salutations


"twinley" wrote in message
news:


Bonjour à tous,

Je baisse les bras.

Comment écrire le test suivant en VBA ?

if [IsError(sheets("graph1").[S12] or IsError(sheets("graph1").[U12]] or
[(sheets("graph1").[I12] and (sheets("graph1").[J12]= ""] then
msgbox "ouf, ça marche enfin"

si S12 ou U12 sont en erreur ou I12 et J12 sont vides


merci pour votre aide

twinley













Avatar
twinley
le VBA est très éprouvant pour ... l'estomac.

J'avais quelques WE de libre en décembre et je me réjouissais de
rencontrer quelques signatures à Paris. A 6 stations de chez moi, mais
je n'étais pas là ce soir là...

Sait-on jamais, la quiétude creusoise ! Des cours de construction de
murs seront dispensés je suppose !?

Tu avais compris que je parlais de mon oeuvre qui était pompée, pas la
tienne, bien sur. Les newbies manquent pas d'air décidément avec leurs
phrases sentencieuses.
Cochonnerie de grippe.

à+twinley



GD wrote:
;o)))
c'est le i qui voulais simplement se mettre en AVant !!!:
---------v
MsgBox
iif(or(and(graph1!I12="",graph1!J12=""),iserror(graph1!S12),iserror(graph1!U
12)) ,"ouf","plouf !")

??? pas de commentaire pour un diner limougeau
pffff...




Avatar
twinley
le VBA est très éprouvant pour ... l'estomac.

J'avais quelques WE de libre en décembre et je me réjouissais de
rencontrer quelques signatures à Paris. A 6 stations de chez moi, mais
je n'étais pas là ce soir là...

Sait-on jamais, la quiétude creusoise ! Des cours de construction de
murs seront dispensés je suppose !?

Tu avais compris que je parlais de mon oeuvre qui était pompée, pas la
tienne, bien sur. Les newbies manquent pas d'air décidément avec leurs
phrases sentencieuses.
Cochonnerie de grippe.

à+twinley



GD wrote:
;o)))
c'est le i qui voulais simplement se mettre en AVant !!!:
---------v
MsgBox
iif(or(and(graph1!I12="",graph1!J12=""),iserror(graph1!S12),iserror(graph1!U
12)) ,"ouf","plouf !")

??? pas de commentaire pour un diner limougeau
pffff...




Avatar
AV
effectivement c'est une oeuvre qui ne manque pas d'air,


Attends, attends... pas de confusion : ma "réponse" s'adressait à GD pour son
message de 18:18 !
"l'ensemble de ton oeuvre" concernait simplement le contenu (les divers
paragraphes) du dit-message !
J'aurais du mettre une ;-)

AV

Avatar
twinley
bien sur,
j'avais répondu en mode UNREAD, donc pas vu le suivi, mais j'ai corrigé
le tir plus tard. GD ne devrait pas prendre la mouche, sinon je suis
mal...très mal. Mais pour un bon mot, qu'est ce que je ne ferais pas ?

:-[

à+twinley

AV wrote:
effectivement c'est une oeuvre qui ne manque pas d'air,



Attends, attends... pas de confusion : ma "réponse" s'adressait à GD pour son
message de 18:18 !
"l'ensemble de ton oeuvre" concernait simplement le contenu (les divers
paragraphes) du dit-message !
J'aurais du mettre une ;-)

AV





1 2 3