OVH Cloud OVH Cloud

question IIf(expr, truepart, falsepart)

2 réponses
Avatar
DarthMac
hello les pros,

je cherche à transformer un test If en IIf mais je n'y arrive point :

If ActiveSheet.AutoFilter.Filters(this_col).On Then
Selection.AutoFilter Field:=this_col
Else
Selection.AutoFilter Field:=this_col, Criteria1:=filter_val
End If

transformé en :
IIf(ActiveSheet.AutoFilter.Filters(this_col).On, Selection.AutoFilter
Field:=this_col, Selection.AutoFilter Field:=this_col, Criteria1:=ActiveCell)

Cela ne fonctionnant pas, j'ai regardé l'aide, regardé comment le IIf était
syntaxé sur des messages de ce NG où la fonction est mentionnée, regardé dans
mes macros aux endroits où il fonctionne... j'ai essayé des parenthèse en
plus pour le true et le false... plus d'autres trucs, mais rien n'y fait.

IIf("Vous avez une idée", "Tell me", "Tell me too")
;-)

mac IIf

2 réponses

Avatar
FxM
Bonjour,

La virgule étant un séparateur, IIf hurle car comprend 4 paramètres
alors qu'elle en attend 3.
Il me semble que la première forme reste la meilleure dans ce cas précis
car bien plus lisible (non ?).

@+
FxM



hello les pros,

je cherche à transformer un test If en IIf mais je n'y arrive point :

If ActiveSheet.AutoFilter.Filters(this_col).On Then
Selection.AutoFilter Field:=this_col
Else
Selection.AutoFilter Field:=this_col, Criteria1:=filter_val
End If

transformé en :
IIf(ActiveSheet.AutoFilter.Filters(this_col).On, Selection.AutoFilter
Field:=this_col, Selection.AutoFilter Field:=this_col, Criteria1:¬tiveCell)

Cela ne fonctionnant pas, j'ai regardé l'aide, regardé comment le IIf était
syntaxé sur des messages de ce NG où la fonction est mentionnée, regardé dans
mes macros aux endroits où il fonctionne... j'ai essayé des parenthèse en
plus pour le true et le false... plus d'autres trucs, mais rien n'y fait.

IIf("Vous avez une idée", "Tell me", "Tell me too")
;-)

mac IIf


Avatar
DarthMac
FxM a exprimé avec précision :
Bonjour,

La virgule étant un séparateur, IIf hurle car comprend 4 paramètres alors
qu'elle en attend 3.
Il me semble que la première forme reste la meilleure dans ce cas précis car
bien plus lisible (non ?).

@+
FxM



hello les pros,

je cherche à transformer un test If en IIf mais je n'y arrive point :

If ActiveSheet.AutoFilter.Filters(this_col).On Then
Selection.AutoFilter Field:=this_col
Else
Selection.AutoFilter Field:=this_col, Criteria1:=filter_val
End If

transformé en :
IIf(ActiveSheet.AutoFilter.Filters(this_col).On, Selection.AutoFilter
Field:=this_col, Selection.AutoFilter Field:=this_col,
Criteria1:¬tiveCell)

Cela ne fonctionnant pas, j'ai regardé l'aide, regardé comment le IIf était
syntaxé sur des messages de ce NG où la fonction est mentionnée, regardé
dans mes macros aux endroits où il fonctionne... j'ai essayé des parenthèse
en plus pour le true et le false... plus d'autres trucs, mais rien n'y
fait.

IIf("Vous avez une idée", "Tell me", "Tell me too") ;-)

mac IIf



merci amigo. Je m'en serais douté un peu mais voulais confirmage :)

mac