IIf, fonction

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Renvoie une des deux valeurs, suivant l’évaluation d’une expression.

Vous pouvez utiliser IIf partout où vous pouvez utiliser des expressions. Utilisez IIf pour déterminer si une autre expression est vraie ou fausse. Si elle est vraie, IIf renvoie une valeur ; si l’expression est fausse, IIf en renvoie une autre. Vous spécifiez les valeurs qu’IIf renvoie.

Voir quelques exemples

Syntaxe

IIf ( expr , valeur vrai , valeur faux )

La syntaxe de la fonction IIf comprend les arguments suivants :

Argument

Description

expr

Obligatoire. Expression à évaluer.

valeur vrai

Obligatoire. Valeur ou expression renvoyée si expression a la valeur Vrai.

valeur faux

Obligatoire. Valeur ou expression renvoyée si expression a la valeur Faux.


Notes

La fonction IIf évalue toujours les arguments valeur vrai et valeur faux, même si elle ne renvoie qu’un des deux. De ce fait, il est conseillé de toujours vérifier tout résultat non souhaité. Ainsi, si l’évaluation de valeur faux entraîne une erreur de division par zéro, une erreur se produit même si expression a la valeur Vrai.

Exemples

Utiliser IIf sur un formulaire ou un état    Supposons que vous ayez une table Customers qui contient un champ nommé PaysRégion. Dans un formulaire, vous voulez indiquer si l’italien est la première langue du contact. Vous pouvez ajouter un contrôle et utiliser IIf dans sa propriété Source contrôle , comme suit :

=IIf([PaysRégion]="Italie", "Italien", "Autres langues")

Lorsque vous ouvrez le formulaire en mode Formulaire, le contrôle affiche « Italien » lorsque la valeur pour PaysRégion est Italie et « Autres langues » si PaysRégion possède une autre valeur.

Utiliser IIf dans des expressions complexes    Vous pouvez utiliser n’importe quelle expression comme une partie d’une instruction IIf . Vous pouvez également « imbriquer » expressions IIf , ce qui vous permet d’évaluer une série d’expressions dépendantes. Pour poursuivre l’exemple précédent, vous souhaiterez peut-être tester plusieurs valeurs PaysRégion différentes et afficher la langue appropriée selon laquelle valeur existe :

=IIf([PaysRégion]="Italie", "Italien", IIf([PaysRégion]="France", "Français", IIf([PaysRégion]="Allemagne", "Allemand", "Autres langues")))

Le texte « Autres langues » est l’argument falsepart de la fonction IIf la plus profonde. Dans la mesure où chaque fonction IIf imbriquée est l’argument falsepart de la fonction IIf qui le contient, le texte « Autres langues » est retourné uniquement si tous les arguments expr de toutes les fonctions IIf ont la valeur False.

Supposez, par exemple, que vous travaillez dans une bibliothèque. La base de données de cette bibliothèque possède une table nommée Sortie contenant un champ Date de retour, qui renferme une data à laquelle un livre particulier doit être rendu. Vous pouvez créer un formulaire qui indique l’état d’un article sorti dans un contrôle à l’aide de la fonction IIf dans la propriété Control Source de ce contrôle, comme suit :

=IIf([Date de retour]<Date(),"RETARD",IIf([Date de retour]=Date(),"Aujourd’hui","Pas encore atteinte"))

Lorsque vous ouvrez le formulaire en mode Formulaire, le contrôle affiche « RETARD » si la valeur de la date de retour est inférieure à la date actuelle, « Aujourd’hui » si elle est égale à la date actuelle et « Pas encore atteinte » dans les autres cas.

Remarque : Utiliser les opérateurs logiques tels que « Et » ou « Ou » dans l’argument expr de la fonction IIf , vous devez placer l’expression logique dans le fonction Eval . Voir le tableau suivant.

Utiliser IIf dans une requête   

La fonction IIf est fréquemment utilisée pour créer des champs calculés dans les requêtes. La syntaxe est la même, à l’exception que dans une requête, vous devez faire précéder l’expression avec un alias de champ et deux-points () au lieu d’un signe égal (=). Pour utiliser l’exemple précédent, vous devez taper ce qui suit dans la ligne champ de la grille de création de requête :

Language: IIf([PaysRégion]="Italie", "Italien", "Autres langues")

Dans ce cas, « Language : » est l’alias du champ.

Pour plus d’informations sur la création de requêtes et des champs calculés, voir l’article créer une requête sélection simple.

Utiliser IIf dans du code VBA   

Remarque : Exemples suivants illustrent l’utilisation de cette fonction dans une Visual Basic pour le module d’Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence du développeur dans la liste déroulante en regard de recherche et entrez un ou plusieurs termes dans la zone de recherche.

Cet exemple utilise la fonction IIf pour évaluer le paramètre TestMe de la procédure CheckIt et renvoie le mot « Large » (grande valeur) si le montant est supérieur à 1 000 ; sinon, elle renvoie le mot « Small » (petite valeur).

Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

Autres exemples

Expression

Résultats

=IIf([CodeAéroport]="ORD","Chicago",IIf([CodeAéroport]="ATL","Atlanta",IIf([CodeAéroport]="SEA","Seattle","Autres")))

Si [CodeAéroport] est « ORD », « Chicago » est retourné. Sinon, si [CodeAéroport] est « ATL », « Atlanta » est retourné. Sinon, si [CodeAéroport] est « SEA », « Seattle ». Dans tous les autres cas, « Autres » est retourné.

=IIf([DateEnvoi]<Date(),"Envoyé",IIf([DateEnvoi]=Date(),"Envoi aujourd’hui","Pas envoyé"))

Si [DateEnvoi] est antérieur à la date du jour, « Envoyé » est retourné. Si [DateEnvoi] est égal à la date du jour, « Envoyé aujourd’hui  est retourné. Sinon, « Non envoyé » est retourné.

=IIf([DateAchat]<#1/1/2008#,"Ancien","Nouveau")

Si [DateAchat] est antérieur à 1/1/2008, « Ancien  est retourné. Sinon, « Nouveau » est retourné.

=IIf(Eval([Volts] entre 12 et 15 et [Amps] entre 0,25 et 0,3),"OK","Calibration erronée")

Si [Volts] est compris entre 12 et 15 [Amps] est entre 0,25 et 0,3, « OK ». Sinon, « Calibration erronée » est retourné.

=IIf(Eval([PaysRégion] dans ("Canada","USA","Mexique")),"Amérique du nord","Autres")

Si [PaysRégion] est « Canada », « USA », ou « Mexique », « Amérique du nord » est retourné. Dans tous les autres cas, « Autres » est retourné.

=IIf([Moyenne]>=90,"A",IIf([Moyenne]>=80,"B",IIf([Moyenne]>=70,"C",IIf([Moyenne]>=60,"D","F"))))

Si [Moyenne] est supérieure ou égale à 90, « A » est retourné. Si [Moyenne] est supérieure ou égale à 80, « B » est retourné. Si [Moyenne] est supérieure ou égale à 70, « C » est retourné. Si [Moyenne] est supérieure ou égale à 60, « D » retourné. Sinon, « F » est retourné.

Remarque : Si vous utilisez la fonction VraiFaux pour créer un champ calculé dans une requête, remplacez le signe égal (=) par un alias de champ et un signe deux-points ( :)). Par exemple, état : IIf ([DateExpédition] < Date (), « Fournies », IIf ([DateExpédition] = Date (), « Livraison aujourd'hui », « Unshipped »))

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×