Comment utiliser la fonction IIf dans VBA ?

La fonction `IIf` en VBA (Visual Basic for Applications) est utilisée pour évaluer une expression et retourner l’une des deux valeurs selon que l’expression est vraie ou fausse. C’est une fonction ressemblant à une expression conditionnelle courte qui permet de simplifier le code.

Voici la syntaxe de la fonction `IIf` :

IIf(Expression, ValeurSiVrai, ValeurSiFaux)
  • Expression : C’est l’expression que vous voulez évaluer. Elle doit retourner un résultat de type booléen (Vrai ou Faux).
  • ValeurSiVrai : La valeur qui est renvoyée si l’expression est évaluée à Vrai.
  • ValeurSiFaux : La valeur qui est renvoyée si l’expression est évaluée à Faux.

Exemple d’utilisation :

Sub ExempleIIf()
    Dim score As Integer
    Dim result As String
    
    score = 85
    
    ' Utilisation de IIf pour déterminer le résultat
    result = IIf(score >= 50, "Réussi", "Échoué")
    
    ' Affiche "Réussi"
    MsgBox result
End Sub

Points à considérer :

  • Evaluation des deux parties : Les deux arguments `ValeurSiVrai` et `ValeurSiFaux` sont évalués, peu importe lequel est finalement retourné. Cela peut être problématique si l’une des parties provoque une erreur lorsque les conditions ne sont pas réunies.
  • Utilisation dans des expressions courtes : `IIf` est essentiellement utile pour des conditions simples et des opérations courtes. Pour des conditions plus complexes, il serait préférable d’utiliser une structure conditionnelle `If…Else`.
  • Alternative avec Select Case ou If…Else : Pour des situations complexes ou des besoins plus élaborés, il est souvent préférable d’utiliser `If…Else` ou `Select Case` pour un meilleur contrôle sur le flux du programme et pour éviter les problèmes d’évaluation mentionnés ci-dessus.

En résumé, `IIf` est très pratique pour simplifier des expressions conditionnelles simples, mais il faut être prudent quant à son utilisation quand les opérations potentielles sont susceptibles de provoquer des erreurs inattendues.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project