Retourne une valeur si une condition est « true » et une autre valeur si la même condition est « false ».

Description

La fonction If teste des conditions jusqu’à ce qu’un résultat true soit trouvé. La valeur correspondante est alors retournée comme résultat. Vous pouvez utiliser la fonction If pour retourner différents résultats selon des comparaisons et d’autres tests.

Vous pouvez utiliser la fonction If dans des formules de comportement pour créer une branche entre deux actions. Une branche au plus sera exécutée. Les conditions sont évaluées dans l’ordre. Dès lors qu’un résultat true est trouvé, aucune condition supplémentaire n’est vérifiée.

Si aucune condition n’est satisfaite et qu’un nombre impair d’arguments est fourni, la valeur du dernier argument est retournée. C’est le cas de la fonction courante If( Condition, Value, Else ). Si un nombre pair d’arguments est fourni, une valeur vide est retournée.

Syntaxe

If( Condition, Result [, ElseResult ] )
If( Condition1, Result1 [, Condition2, Result2, ... [ , ElseResult ] ] )

  • Condition(s) - Requis. Formules pour tester un résultat true. Ces formules contiennent généralement des opérateurs de comparaison (comme <, > et =) et des fonctions de test comme IsBlank et IsEmpty.
  • Result(s) - Requis. La valeur correspondante à retourner pour une condition qui donne la valeur true.
  • ElseResult - Facultatif. La valeur à retourner si aucune condition n’est satisfaite. Si vous ne spécifiez pas cet argument, une valeur vide est retournée.

Exemples

Valeurs dans les formules

Dans les exemples suivants, un contrôle de curseur nommé Slider1 possède la valeur 25.

Formule Description Résultat
If( Slider1.Value = 25, "Result1" ) La condition est true, et le résultat correspondant est retourné. "Result1"
If( Slider1.Value > 1000, "Result1" ) La condition est falseet aucun résultat ElseResult n’est fourni. vide
If( Slider1.Value = 25, "Result1", "Result2" ) La condition est true, et le résultat correspondant est retourné. "Result1"
If( Slider1.Value > 1000, "Result1", "Result2" ) La condition est false. Le résultat ElseResult a été fourni et est retourné. "Result2"
If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) La première condition est true, et le résultat correspondant est retourné. La deuxième condition est également true, mais la valeur correspondante n’est pas retournée car elle apparaît dans la liste d’arguments après la première condition. "Result1"
If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) La première condition est false étant donné que le curseur a la valeur 25 et n’est pas vide. La deuxième condition est true car la valeur du curseur est un nombre, et le résultat correspondant est retourné. "Result2"
If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") La première et la deuxième conditions sont false. Le résultat ElseResult a été fourni et est retourné. "Result3"

Création de branches dans les formules de comportement

Dans les exemples suivants, la valeur « John » est tapée dans une zone d’entrée de texte nommée FirstName.

Formule Description Résultat
If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) La condition est true, et la fonction Navigate est exécutée. Vous pouvez utiliser la fonction IsBlank pour vérifier si un champ de formulaire obligatoire a été renseigné. Si la zone d’entrée de texte était vide, cette formule n’aurait aucun effet. true

L’affichage passe à Screen1.
If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) Sans l’opérateur ., la condition est false, et la fonction Navigate n’est pas exécutée. Étant donné que le résultat ElseResult a été fourni, la fonction Back est exécutée. true

L’affichage revient à l’écran présenté précédemment.

Étape par étape

  1. Dans un écran vide, ajoutez un contrôle Text input. Nommez-le Text1 si elle n’a pas ce nom par défaut.

  2. Dans Text1, tapez 15.

  3. Ajoutez une étiquette et affectez à sa propriété Text les formules suivantes :

Formule Description Résultat
Text1.Text Sans condition, la valeur renvoyée est la valeur du contrôle de saisie de texte. "15"
If( Value(Text1.Text) < 40, "Commandez plus !", Text1.Text ) La condition est true, et la valeur correspondante est retournée. "Commandez plus !"
If( Value(Text1.Text) < 20, "Commandez beaucoup plus !", Value(Text1.Text) < 40, "Commandez plus !", Text1.Text ) La première condition est true, et la valeur correspondante est retournée. "Commandez beaucoup plus !"