Utiliser des expressions dans des conditions pour vérifier plusieurs valeursUse expressions in conditions to check multiple values

Dans cette procédure pas à pas, vous allez apprendre à utiliser des expressions et conditions pour comparer plusieurs valeurs en mode Avancé.In this walkthrough, you'll learn to use expressions and Conditions to compare multiple values in Advanced mode.

Lorsque vous créez un flux, vous pouvez utiliser la carte Condition en mode de base pour comparer rapidement une valeur avec une autre.When you create a flow, you can use the Condition card in basic mode to quickly compare a single value with another value. Vous devrez peut-être parfois comparer plusieurs valeurs.However, there're times when you need to compare multiple values. Par exemple, vous pouvez vérifier la valeur de quelques colonnes d’une feuille de calcul ou une table de base de données.For example, you may want to check the value of a few columns in a spreadsheet or database table.

Vous pouvez utiliser n’importe quelle combinaison parmi les expressions logiques suivantes dans vos conditions.You can use any combination of the following logical expressions in your conditions.

ExpressionExpression DescriptionDescription ExempleExample
andand Accepte deux arguments et retourne la valeur true si les deux valeurs sont true.Takes two arguments and returns true if both values are true.
Remarque : les deux arguments doivent être des valeurs booléennes.Note: Both arguments must be Booleans.
Cette expression retourne la valeur false :This expression returns false:
and(greater(1,10),equals(0,0))and(greater(1,10),equals(0,0))
oror Accepte deux arguments et retourne la valeur true si un des arguments a la valeur true.Takes two arguments and returns true if either argument is true.
Remarque : les deux arguments doivent être des valeurs booléennes.Note: Both arguments must be Booleans.
Cette expression retourne la valeur true :This expression returns true:
or(greater(1,10),equals(0,0))or(greater(1,10),equals(0,0))
equalsequals Retourne true si les deux valeurs sont égales.Returns true if two values are equal. Par exemple, si parameter1 est someValue, cette expression retourne true :For example, if parameter1 is someValue, this expression returns true:
equals(parameters('parameter1'), 'someValue')equals(parameters('parameter1'), 'someValue')
lessless Accepte deux arguments et retourne la valeur true si le premier argument est inférieur au deuxième argument.Takes two arguments and returns true if the first argument is less than the second argument.
Remarque : les types pris en charge sont integer, float et string.Note: The supported types are integer, float, and string.
Cette expression retourne la valeur true :This expression returns true:
less(10,100)less(10,100)
lessOrEqualslessOrEquals Accepte deux arguments et retourne la valeur true si le premier argument est inférieur ou égal au deuxième argument.Takes two arguments and returns true if the first argument is less than or equal to the second argument.
Remarque : les types pris en charge sont integer, float et string.Note: The supported types are integer, float, and string.
Cette expression retourne la valeur true :This expression returns true:
lessOrEquals(10,10)lessOrEquals(10,10)
greatergreater Accepte deux arguments et retourne la valeur true si le premier argument est supérieur au deuxième argument.Takes two arguments and returns true if the first argument is greater than the second argument.
Remarque : les types pris en charge sont integer, float et string.Note: The supported types are integer, float, and string.
Cette expression retourne la valeur false :This expression returns false:
greater(10,10)greater(10,10)
greaterOrEqualsgreaterOrEquals Accepte deux arguments et retourne la valeur true si le premier argument est supérieur ou égal au deuxième argument.Takes two arguments and returns true if the first argument is greater than or equal to the second argument.
Remarque : les types pris en charge sont integer, float et string.Note: The supported types are integer, float, and string.
Cette expression retourne la valeur false :This expression returns false:
greaterOrEquals(10,100)greaterOrEquals(10,100)
emptyempty Retourne la valeur true si l’objet, le tableau ou la chaîne est vide.Returns true if the object, array, or string is empty. Cette expression retourne la valeur true :This expression returns true:
empty('')empty('')
notnot Retourne la valeur booléenne opposée.Returns the opposite of a boolean value. Cette expression retourne la valeur true :This expression returns true:
not(contains('200 Success','Fail'))not(contains('200 Success','Fail'))
ifif Retourne une valeur spécifique si l’expression retourne la valeur true ou false.Returns a specific value if the expression results in true or false. Cette expression retourne la valeur yes :This expression returns "yes":
if(equals(1, 1), 'yes', 'no')if(equals(1, 1), 'yes', 'no')

PrérequisPrerequisites

  • Accédez à Microsoft Flow.Access to Microsoft Flow.
  • Une feuille de calcul avec les tableaux décrits plus loin dans cette procédure pas à pas.A spreadsheet with the tables described later in this walkthrough. Veillez à enregistrer votre feuille de calcul dans un emplacement tel que Dropbox ou Microsoft OneDrive afin que Microsoft Flow puisse y accéder.Be sure to save your spreadsheet in a location such as Dropbox or Microsoft OneDrive so that Microsoft Flow can access it.
  • Microsoft Office 365 Outlook ou un autre service de messagerie pris en charge dans vos flux.Microsoft Office 365 Outlook (While we use Office 365 Outlook, you can use any supported email service in your flows.)

Utiliser l’expression orUse the or expression

Parfois, votre flux de travail doit entreprendre une action si la valeur d’un élément est valueA ou valueB.Sometimes your workflow needs to take an action if the value of an item is valueA or valueB. Par exemple, vous pouvez suivre l’état des tâches dans un tableau de feuille de calcul.For example, you may be tracking the status of tasks in a spreadsheet table. Supposons que le tableau possède une colonne nommée Status et que les valeurs possibles dans la colonne Status sont les suivantes :Assume that the table has a column named Status and the possible values in the Status column are:

  • completedcompleted
  • blockedblocked
  • unnecessaryunnecessary
  • not startednot started

Voici un exemple de la façon dont la feuille de calcul peut se présenter :Here's an example of what the spreadsheet might look like:

exemple de feuille de calcul

Étant donné la feuille de calcul précédente, vous souhaitez utiliser Microsoft Flow pour supprimer toutes les lignes ayant une colonne Status définie sur completed ou unnecessary.Given the preceding spreadsheet, you want to use Microsoft Flow to remove all rows with a Status column that's set to completed or unnecessary.

Vous allez créer le flux.Let's create the flow.

Commencer avec un flux videStart with a blank flow

  1. Connectez-vous à Microsoft Flow.Sign into Microsoft Flow.

    se connecter

  2. Sélectionnez l’onglet Mes flux.Select the My flows tab.

    sélectionner mes flux

  3. Sélectionnez Créer entièrement.Select Create from blank.

    créer entièrement

Ajouter un déclencheur à votre fluxAdd a trigger to your flow

  1. Recherchez Planification, puis sélectionnez le déclencheur Planification - Récurrence.Search for Schedule, and then select the Schedule - Recurrence trigger

    déclencheur Planification

  2. Définissez l’exécution quotidienne de la planification.Set the schedule to run once daily.

    définir la planification

Sélectionner la feuille de calcul et obtenir toutes les lignesSelect the spreadsheet and get all rows

  1. Sélectionnez Nouvelle étape > Ajouter une action.Select New step > Add an action.

    nouvelle étape

  2. Recherchez rows (lignes), puis sélectionnez Excel - Get rows (Excel - Obtenir les lignes).Search for rows, and then select Excel - Get rows.

    Remarque : sélectionnez l’action « obtenir les lignes » qui correspond à la feuille de calcul que vous utilisez.Note: Select the "get rows" action that corresponds to the spreadsheet that you're using. Par exemple, si vous utilisez Google Sheets, sélectionnez Google Sheets - Get rows (Google Sheets - Obtenir les lignes).For example, if you're using Google Sheets, select Google Sheets - Get rows.

    obtenir les lignes

  3. Sélectionnez l’icône de dossier dans la zone Nom de fichier, puis sélectionnez la feuille de calcul qui contient vos données.Select the folder icon in the File name box, browse to, and then select the spreadsheet that contains your data.

    sélectionner la feuille de calcul

  4. Sélectionnez le tableau qui contient vos données à partir de la liste Nom du tableau.Select the table that contains your data from the Table name list.

    sélectionner un tableau

Vérifier la colonne Status de chaque ligneCheck the status column of each row

  1. Sélectionnez Nouvelle étape > Plus > Ajouter un appliquer à chaque.Select New step > More > Add an apply to each.

    sélectionner un tableau

  2. Ajoutez le jeton Valeur dans la zone Sélectionnez un résultat à partir des étapes précédentes.Add the Value token to the Select an output from previous steps box.

    sélectionner un tableau

  3. Sélectionnez Ajouter une condition > Modifier en mode Avancé.Select Add a condition > Edit in advanced mode.

  4. Ajoutez l’expression or suivante.Add the following or expression. Cette expression or vérifie la valeur de chaque ligne du tableau (une ligne est appelée « élément » dans une expression).This or expression checks the value of each row in the table (a row is known as an item when accessed in a expression). Si la valeur de la colonne status est completed ou unnecessary, l’expression or prend la valeur « true ».If the value of the status column is completed or unnecessary, the or expression evaluates to "true".

    L’expression or s’affiche comme illustré ici :The or expression appears as shown here:

    @or(equals(item()?['status'], 'unnecessary'), equals(item()?['status'], 'completed'))

    Votre carte Condition ressemble à cette image :Your Condition card resembles this image:

    Image de l’expression or

Supprimer les lignes correspondantes de la feuille de calculDelete matching rows from the spreadsheet

  1. Sélectionnez Ajouter une action sous la section SI OUI, NE RIEN FAIRE de la condition.Select Add an action on the IF YES, DO NOTHING branch of the condition.

  2. Recherchez Supprimer la ligne, puis sélectionnez Excel - Supprimer la ligne.Search for Delete row, and then select Excel - Delete row.

    image supprimer la ligne

  3. Dans la zone Nom de fichier, recherchez et sélectionnez la feuille de calcul qui contient les données que vous souhaitez supprimer.In the File name box, search for, and select the spreadsheet file that contains the data you want to delete.

  4. Dans la liste Nom du tableau, sélectionnez le tableau qui contient vos données.In the Table name list, select the table that contains your data.

  5. Placez le jeton ID de ligne dans la zone ID de ligne.Place the Row id token in the Row id box.

    fichier de feuille de calcul

Nommer le flux et l’enregistrerName the flow and save it

  1. Nommez votre flux, puis sélectionnez le bouton Créer un flux.Give your flow a name and then select the Create flow button.

    enregistrer votre flux

Exécuter le flux avec l’expression orRun the flow with the or expression

Le flux s’exécute une fois que vous l’avez enregistré.The flow runs after you save it. Si vous avez créé la feuille de calcul indiquée plus haut dans cette procédure pas à pas, voici à quoi elle ressemble après l’exécution :If you created the spreadsheet shown earlier in this walkthrough, here's what the it looks like after the run completes:

Expression or exécutée

Notez que toutes les données des lignes dont le statut était « completed » ou « unnecessary » dans la colonne Status ont été supprimées.Notice all data from rows that had "completed" or "unnecessary" in the Status column were deleted.

Utiliser l’expression andUse the and expression

Supposons que vous avez un tableau de feuille de calcul avec deux colonnes.Assume you have a spreadsheet table with two columns. Les noms de colonne sont Status et Assigned.The column names are Status and Assigned. Supposons également que vous souhaitez supprimer toutes les lignes si la valeur de la colonne Status est « blocked » et que la valeur de la colonne Assigned est « John Wonder ».Assume also that you want to delete all rows if the Status column's value is "blocked" and the Assigned column's value is "John Wonder". Pour accomplir cette tâche, suivez toutes les étapes décrites plus haut dans cette procédure pas à pas. Toutefois, lorsque vous modifiez la carte Condition en mode Avancé, utilisez l’expression and indiquée ici :To accomplish this task, follow all steps earlier in this walkthrough, however, when you edit the Condition card in advanced mode, use the and expression shown here:

@and(equals(item()?['Status'], 'blocked'), equals(item()?['Assigned'], 'John Wonder'))

Votre carte Condition ressemble à cette image :Your Condition card resembles this image:

Image de l’expression and

Exécuter le flux avec l’expression andRun the flow with the and expression

Si vous avez respecté la procédure, votre feuille de calcul doit ressembler à l’image suivante :If you followed along, your spreadsheet resembles this image:

avant l’exécution de la fonction and

Une fois que votre flux est exécuté, votre feuille de calcul doit ressembler à l’image suivante :After your flow runs, your spreadsheet resembles this image:

après l’exécution de la fonction and

Utiliser l’expression emptyUse the empty expression

Notez qu’il existe plusieurs lignes vides dans la feuille de calcul.Notice that there are several empty rows in the spreadsheet now. Pour les supprimer, utilisez l’expression empty pour identifier toutes les lignes qui n’ont pas de texte dans les colonnes Assigned et Status.To remove them, use the empty expression to identify all rows that don't have any text in the Assigned and Status columns.

Pour accomplir cette tâche, suivez toutes les étapes décrites plus haut dans la section Utiliser l’expression and de cette procédure pas à pas. Toutefois, lorsque vous modifiez la carte Condition en mode Avancé, utilisez l’expression empty comme suit :To accomplish this task, follow all steps listed in Use the and expression section earlier in this walkthrough, however, when you edit the Condition card in advanced mode, use the empty expression this way:

@and(empty(item()?['Status']), empty(item()?['Assigned']))

Votre carte Condition ressemble à cette image :Your Condition card resembles this image:

Image de l’expression empty

Une fois que votre flux est exécuté, votre feuille de calcul doit ressembler à l’image suivante :After your flow runs, the spreadsheet resembles this image:

Après l’exécution de la fonction empty

Notez que les lignes supplémentaires sont supprimées du tableau.Notice extra lines are removed from the table.

Utiliser l’expression greaterUse the greater expression

Imaginez que vous avez acheté des tickets de match de football pour vos collègues et que vous utilisez une feuille de calcul pour vous assurer que chaque personne vous rembourse.Imagine you've bought baseball tickets for your coworkers and you're using a spreadsheet to ensure you're reimbursed by each person. Vous pouvez rapidement créer un flux qui envoie un message quotidien à chaque personne qui n’a pas encore remboursé la totalité du montant.You can quickly create a flow that sends a daily email to each person who hasn't paid the full amount.

Utilisez l’expression greater pour identifier les employés qui n’ont pas remboursé la totalité du montant.Use the greater expression to identify the employees who haven't paid the full amount. Vous pouvez ensuite envoyer automatiquement un message électronique de rappel à ceux qui n’ont pas payé la totalité du montant.You can then automatically send a friendly reminder email to those who haven't paid in full.

Voici une vue de la feuille de calcul :Here's a view of the spreadsheet:

vue de la feuille de calcul

Voici l’implémentation de l’expression greater qui identifie toutes les personnes qui ont payé moins que le montant dû :Here's the implementation of the greater expression that identifies all persons who have paid less than the amount due from them:

@greater(item()?['Due'], item()?['Paid'])

Utiliser l’expression lessUse the less expression

Imaginez que vous avez acheté des tickets de match de football pour vos collègues et que vous utilisez une feuille de calcul pour vous assurer que chaque personne vous rembourse à la date acceptée par tous.Imagine you've bought baseball tickets for your coworkers, and you're using a spreadsheet to ensure you're reimbursed by each person by the date to which everyone agreed. Vous pouvez créer un flux qui envoie un message de rappel pour chaque personne qui n’a pas encore payé la totalité du montant si la date d’échéance est dans moins d’un jour.You can create a flow that sends a reminder email to each person who hasn't paid the full amount if the current date is less than one day before the due date.

Utilisez l’expression and avec l’expression less, car il existe deux conditions qui sont validées :Use the and expression along with the less expression since there are two conditions being validated:

Condition à validerCondition to validate Expression à utiliserexpression to use ExempleExample
La totalité du montant a-t-il été payé ?Has the full amount due been paid? greatergreater @greater(item()?['Due'], item()?['Paid'])@greater(item()?['Due'], item()?['Paid'])
La date d’échéance est-elle située dans un jour ?Is the due date less than one day away? lessless @less(item()?['DueDate'], addDays(utcNow(),1))@less(item()?['DueDate'], addDays(utcNow(),1))

Combiner les expressions greater et less dans une expression etCombine the greater and less expressions in an and expression

Utilisez l’expression greater pour identifier les employés qui ont payé moins que le montant total dû et utilisez l’expression less pour déterminer si la date d’échéance du paiement est située dans moins d’un jour.Use the greater expression to identify the employees who have paid less than the full amount due and use the less expression to determine if the payment due date is less than one day away from the current date. Vous pouvez ensuite ajouter l’action Envoyer un message électronique pour envoyer un courrier électronique de rappel à ceux qui n’ont pas payé la totalité du montant alors que la date d’échéance est dans moins d’un jour.You can then the Send an email action to send friendly reminder email to those who haven't paid in full and the due date is less than one day away.

Voici une vue du tableau de la feuille de calcul :Here's a view of the spreadsheet table:

vue de la feuille de calcul

Voici l’implémentation de l’expression and qui identifie toutes les personnes qui ont payé moins que le montant dû et le fait que la date d’échéance est située dans moins d’un jour :Here's the implementation of the and expression that identifies all persons who have paid less than the amount due from them and the due date is less than one day away from the current date:

@and(greater(item()?['Due'], item()?['Paid']), less(item()?['dueDate'], addDays(utcNow(),1)))

En savoir plusLearn more

En savoir plus sur les autres expressionsLearn about other expressions