Syntaxe sur instruction IIF (avec ":" dans la réponse) : erreur

zebanx

XLDnaute Accro
Bonjour le forum,

Dans le fichier ci-joint, je souhaiterais remplacer l'instruction "if...then" par un "iif"

If Cells(i, 3).Value Like "5*" Then
Cells(i, 7) = 0
Else
Cells(i, 7) = Cells(i, 6): Cells(i, 6) = Cells(i, 6): Cells(i, 6) = 0
End If
Next i

Mais cela ne fonctionne pas avec quelque chose comme
Cells(i, 7).Value = IIf(Cells(i, 3).Value Like "5*", 0, Cells(i, 6) : Cells(i, 6) = Cells(i, 6) : Cells(i, 6) = 0))

Pourriez-vous s'il vous plait m'apporter vos lumières pour la correcte rédaction de l'instruction ?

Vous en remerciant, bonne journée
zebanx
 

Pièces jointes

  • DEMANDE_IIF.xls
    28.5 KB · Affichages: 19

vgendron

XLDnaute Barbatruc
Hello @zebanx

la fonction IIF attend pour argument s(TruePart et FalsePart) des expressions ou valeurs..
toi. tu essaies d'y mettre un ensemble d'instructions...
à premiere vue, je dirais donc que c'est impossible de faire ce que tu demandes (j'ai meme pensé et essayé la fonction Evaluate..)
 

zebanx

XLDnaute Accro
Bonjour Vgendron,

Merci pour ta réponse.

Je viens d'aller voir sur stackoverflow et les réponses confirment ton analyse (uniquement un retour VALUE).
https://stackoverflow.com/questions...com/questions/34211344/syntax-error-using-iif

Je viens toutefois simplifier le premier code en un ligne :
If Cells(i, 3).Value Like "5*" Then Cells(i, 7) = 0 Else Cells(i, 7) = Cells(i, 6): Cells(i, 6) = Cells(i, 6): Cells(i, 6) = 0
C'était le but recherché mais j'ai appris sur IIF grâce à toi, merci.

Bonne journée -)
zebanx
 

Discussions similaires

Réponses
17
Affichages
849

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 518
dernier inscrit
hbenaoun63