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 partiestruepartetfalsepart, 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 :
IIfest 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.
Où en êtes-vous sur VBA Excel ?
En quelques minutes seulement, ce test vous permet d’évaluer votre niveau et de savoir exactement quoi travailler pour progresser rapidement.
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. |
🎁 Formation macro Excel gratuit
Vous utilisez Excel régulièrement, mais certaines tâches vous prennent encore trop de temps ?
Avec VBA, vous pouvez automatiser vos fichiers et éviter les manipulations répétitives. Dans cette formation gratuite, vous allez apprendre à :
- Créer vos premières macros simplement
- Automatiser des tâches répétitives
- Structurer vos fichiers pour gagner en efficacité
- Construire un projet VBA complet
Un support PDF est également offert pour vous accompagner pas à pas.

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 IIfNe 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.
Aller plus loin avec une formation Excel VBA
Vous souhaitez automatiser vos fichiers Excel et progresser durablement sur VBA ? Notre formation complète vous accompagne avec un formateur expert dédié et un programme adapté à votre niveau. Vous bénéficiez de :
- Séances individuelles avec un formateur spécialisé VBA
- Exercices personnalisés selon vos fichiers et votre métier
- Progression structurée du débutant à avancé
- Accompagnement humain tout au long du parcours
- Certification TOSA VBA possible en fin de formation
- Financement CPF, OPCO ou entreprise selon votre situation
Les autres fonctions VBA TYPE
Fonction VBA : Split.
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
Découvrez toutes les fonctions dans Excel VBA ici.






Félicitations ! Votre ebook Excel offert !
/ CPF