Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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
Pierre CFI [mvp]
bonjour
on voit mal si [ ou (,
if (IsError(sheets("graph1").[S12] ) or IsError( sheets("graph1").[U12] ) ) or ( sheets("graph1").[I12] = "" and
sheets("graph1").[J12]= "") then


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"twinley" a écrit dans le message de 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
docm
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
Ouf, merci Pierre c'est exactement ça.
C'est pas possible que je n'ai pas essayé cette syntaxe !

Enfin bref, même pas capable d'énoncer les conditions... un dimanche au
ralenti. Je commençais à désespérer.

à+twinley


Pierre CFI [mvp] wrote:
bonjour
on voit mal si [ ou (,
if (IsError(sheets("graph1").[S12] ) or IsError( sheets("graph1").[U12] ) ) or ( sheets("graph1").[I12] = "" and
sheets("graph1").[J12]= "") then




Avatar
twinley
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
GD
Bonsour® Max,
une façon recommandée d'alléger l'écriture est d'utiliser With.... End With
il est inutile également d'utiliser les [ ] de façon "superfétatoire !!!"
les "[ ]" sont équivalent' à Evaluate
le IsError se contente alors de ( )
ma solution :
Sub twinley()
With Sheets("Graph1")
If IsError(.[S12]) _ '---------------- - S12 en erreur
Or IsError(.[U12]) _ '------------------ ou U12 en erreur
Or (.[I12] = "" And .[J12] = "") _ ' ou ----- I12 et J12=""
Then MsgBox "ouf, ça marche enfin"
End With

End Sub

;o)))
@+

twinley wrote:
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
Pierre CFI [mvp]
oui, des fois on tourne en rond :o)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"twinley" a écrit dans le message de news:%
Ouf, merci Pierre c'est exactement ça.
C'est pas possible que je n'ai pas essayé cette syntaxe !

Enfin bref, même pas capable d'énoncer les conditions... un dimanche au
ralenti. Je commençais à désespérer.

à+twinley


Pierre CFI [mvp] wrote:
bonjour
on voit mal si [ ou (,
if (IsError(sheets("graph1").[S12] ) or IsError( sheets("graph1").[U12] ) ) or ( sheets("graph1").[I12] = "" and
sheets("graph1").[J12]= "") then






Avatar
AV
Comme ça aussi :

MsgBox
[if(or(and(graph1!I12="",graph1!iJ12=""),iserror(graph1!iS12),iserror(graph1!iU1
2)),"ouf","plouf !")]

AV
Avatar
AV
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
twinley
Bonjour GD,

Là, c'est limpide, comme quoi, avoir de la méthode ça éclaircit les idées

merci, cette sub entre dans la bible du Panthéon...

:-[

je réserve les crochets pour les emoticons maintenant.

à+twinley

GD wrote:
Bonsour® Max,
une façon recommandée d'alléger l'écriture est d'utiliser With.... End With
il est inutile également d'utiliser les [ ] de façon "superfétatoire !!!"
les "[ ]" sont équivalent' à Evaluate
le IsError se contente alors de ( )
ma solution :
Sub twinley()
With Sheets("Graph1")
If IsError(.[S12]) _ '---------------- - S12 en erreur
Or IsError(.[U12]) _ '------------------ ou U12 en erreur
Or (.[I12] = "" And .[J12] = "") _ ' ou ----- I12 et J12=""
Then MsgBox "ouf, ça marche enfin"
End With

End Sub

;o)))
@+

twinley wrote:

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
Merci AV pour la soluce version lite.
Je m'y suis essayé et je me suis emmêlé les crochets...
au moins j'ai le corrigé, allez zou ! au Panthéon aussi...

à+twinley

AV wrote:
Comme ça aussi :

MsgBox
[if(or(and(graph1!I12="",graph1!iJ12=""),iserror(graph1!iS12),iserror(graph1!iU1
2)),"ouf","plouf !")]

AV




1 2 3