Téléphone : 06.36.02.19.40 | Mail : contact@morpheus-formation.fr
Aujourd'hui, nous allons explorer la fonction IIf
.
Définition : la fonction IIf
est utilisée pour renvoyer l'une des deux valeurs en fonction de l'évaluation d'une expression.
Pourquoi utiliser cette fonction ? C'est une manière concise de réaliser des conditions simples dans votre code, similaire à la fonction SI
d'Excel, mais en VBA.
La syntaxe de la fonction IIf
est la suivante :
IIf(expr, truepart, falsepart)
Paramètres
Argument | Description |
---|---|
Expr (obligatoire) | Expression que vous souhaitez évaluer. |
truepart (obligatoire) | Valeur ou expression renvoyée si expr est True. |
falsepart (obligatoire) | Valeur ou expression renvoyée si expr est False. |
IIf
VBAValeurs de retour
La fonction IIf
renvoie la valeur de truepart
si l'expression expr
est évaluée à True ; sinon, elle renvoie la valeur de falsepart
.
Remarques
- Évaluation des parties :
IIf
évalue toujours les deux partiestruepart
etfalsepart
, même si elle ne renvoie que l'une d'entre elles. Cela peut entraîner des erreurs si l'une des parties génère une exception, même si cette partie n'est pas censée être exécutée. - Utilisation appropriée :
IIf
est pratique pour des conditions simples, mais pour des conditions plus complexes ou imbriquées, il est souvent préférable d'utiliser des instructionsIf...Else
.
Exemple d’utilisation IIf VBA
Voyons quelques exemples concrets pour illustrer l'utilisation de la fonction IIf
, avec des explications détaillées pour chaque cas.
Exemple 1 : retourner une valeur en fonction d’une condition simple
Dans cet exemple, nous allons utiliser IIf
pour afficher un message en fonction d'une note.
Sub ExempleSimple()
Dim note As Integer
note = 14
' Utilisation de IIf pour afficher un message en fonction de la note
MsgBox IIf(note >= 15, "Bravo !", "Bof bof ...")
End Sub
La fonction IIf
évalue si la note est supérieure ou égale à 15. Si c'est le cas, elle renvoie "Bravo !", sinon, elle renvoie "Bof bof ...".
Utiliser IIF
pour des affectations de variables
Sub AffectationVariable()
Dim age As Integer
Dim categorie As String
age = 25
' Utilisation de IIf pour déterminer la catégorie d'âge
categorie = IIf(age >= 18, "Adulte", "Mineur")
MsgBox "Catégorie : " & categorie
End Sub
Explication : La fonction IIf
évalue si l'âge est supérieur ou égal à 18. Si c'est le cas, elle assigne "Adulte" à la variable categorie
, sinon, elle assigne "Mineur".
Nos meilleures pratiques
Voici, d'après-moi, les meilleures pratiques de la fonction IIF :
Pratique | Description |
---|---|
Utiliser pour des conditions simples | Utilisez IIf pour des conditions simples où une évaluation rapide est suffisante. |
Vérifier les erreurs potentielles | Soyez conscient que IIf évalue toujours les deux parties, même si une erreur peut se produire dans la partie non utilisée. |
Préférer If...Else pour des conditions complexes | Pour des conditions plus complexes ou imbriquées, utilisez des structures If...Else pour plus de clarté et de contrôle. |
Les erreurs à éviter
Voici, d'après-moi, les erreurs à éviter de la fonction IIF :
Erreur | Description |
---|---|
Utiliser IIf avec des expressions générant des erreurs | Évitez d'utiliser IIf avec des expressions qui peuvent générer des erreurs, comme la division par zéro. |
Remplacer les structures If...Else complexes par IIf Ne remplacez pas des structures If...Else complexes par IIf , car cela peut rendre le code difficile à lire et à maintenir. | Ne remplacez pas des structures If...Else complexes par IIf , car cela peut rendre le code difficile à lire et à maintenir. |
Oublier l'évaluation des deux parties | Ne pas oublier que IIf évalue toujours les deux parties, ce qui peut entraîner des comportements inattendus. |
FAQ : FONCTION VBA
Formation VBA Excel
La fonction IIf
est pratique en VBA pour évaluer rapidement des conditions simples et renvoyer une valeur en fonction du résultat de cette évaluation. Cependant, elle doit être utilisée avec précaution en raison de son comportement d'évaluation des deux parties. Pour des conditions plus complexes, il est recommandé d'utiliser des structures If...Else
plus robustes.
Vous êtes à l'aise avec Excel et vous souhaitez passer à un niveau supérieur ? Il est temps d'apprendre le langage de programmation VBA pour créer de véritables applications dans Excel ! Explorez notre programme de formation Excel VBA pour apprendre à créer des macros et automatiser vos classeurs.
Que vous soyez une entreprise ou un particulier, nous avons conçu une formation Macros VBA Excel adaptée à vos besoins spécifiques. Nous vous offrons la flexibilité de choisir entre des formations à distance ou en présentiel, selon vos préférences et contraintes.
En choisissant notre formation VBA Excel (macros), vous pourrez également passer la certification TOSA, une référence en matière de certification bureautique.
Les autres fonctions VBA TYPE
Fonction InStr VBA Excel
FONCTION CHR VBA Excel
FONCTION REPLACE VBA EXCEL
Fonction FORMAT Excel VBA
Fonction ISNUMERIC VBA
Fonction VBA : IsEmpty
Fonction VBA : Array
Fonction VBA : Split.
Découvrez toutes les fonctions dans Excel VBA ici.