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
819

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16