Expressions Power Automate : les 15 fonctions les plus importantes

Les 15 fonctions d'expression Power Automate les plus importantes, telles que concat, formatDateTime et coalesce, illustrées par des exemples pratiques allemands.

Les fonctions d'expression les plus importantes de Power Automate sont concat, toUpper, toLower, replace et substring pour le texte, utcNow, formatDateTime, addDays et dayOfWeek pour la date et l'heure, if, equals, coalesce et empty pour les vérifications logiques, ainsi que first et length pour l'accès aux listes et aux tableaux. Ces 15 fonctions permettent de couvrir la majorité des éléments de texte, des calculs de dates et des conditions dans un flux cloud, sans avoir à ajouter d'actions supplémentaires. Chaque fonction est saisie dans l'éditeur d'expressions et peut être imbriquée avec d'autres fonctions, par exemple formatDateTime(utcNow(), 'dd.MM.yyyy') pour un format de date allemand. État : juillet 2026.

Quelles fonctions de texte combinent et nettoient des chaînes de caractères ?

Les fonctions de texte assemblent des chaînes de caractères, convertissent la casse ou extraient des parties d'une chaîne. Elles constituent la base de presque chaque ligne d'objet, nom de fichier ou message dans un flux.

  • concat(text1, text2, ...): Combine au moins deux chaînes de caractères en une seule. L'exemple concat('Facture-', variables('NumeroClient')) donne "Facture-4711". La syntaxe complète de toutes les fonctions de texte est répertoriée dans le guide de référence Microsoft des fonctions d'expression. Comment rassembler ce type d'expressions dans votre propre action est expliqué dans l'article Rédiger dans Power Automate (Compose).
  • toUpper(text) / toLower(text): Convertit une chaîne de caractères en majuscules ou en minuscules. Utile pour normaliser des adresses e-mail avant une comparaison, par exemple toLower('Anna.Muster@Firma.DE').
  • replace(text, ancienTexte, nouveauTexte): Remplace une sous-chaîne par une autre. replace('2026/03/18', '/', '-') donne "2026-03-18". La fonction est sensible à la casse.
  • substring(text, startIndex, longueur): Extrait un certain nombre de caractères à partir d'une position de départ. substring('Rechnung-2026-0042', 9, 4) donne "2026". L'index commence à 0, et le troisième argument est la longueur, pas la position de fin.

Comment calculer avec la date et l'heure dans une expression ?

Les fonctions de date et d'heure fournissent l'horodatage actuel, le formatent pour l'affichage et le décalent de jours ou de semaines. Power Automate fonctionne par défaut en UTC.

  • utcNow(format?): Renvoie l'horodatage UTC actuel, éventuellement déjà dans un format souhaité. Sans paramètre, la fonction renvoie le format ISO 8601.
  • formatDateTime(horodatage, format?, paramètresRégionaux?): Formate un horodatage selon un modèle personnalisé. formatDateTime(utcNow(), 'dd.MM.yyyy') donne une date allemande telle que "18.03.2026". Attention à la casse : MM représente les mois, mm les minutes.
  • addDays(horodatage, nombre): Ajoute ou soustrait des jours à un horodatage. addDays(utcNow(), 7) calcule une date d'échéance dans une semaine, addDays(utcNow(), -30) une date 30 jours plus tôt.
  • dayOfWeek(horodatage): Renvoie le jour de la semaine sous forme de nombre, dimanche étant 0 et samedi 6. Important pour les vérifications de week-end dans une boucle, par exemple lorsque vous vérifiez des rendez-vous pour chaque élément d'une liste. D'autres modèles de date avec des expressions toutes faites sont rassemblés dans le livre de recettes d'expressions pour les flux cloud. Comment parcourir une liste de telles entrées est expliqué dans l'article Power Automate Apply to each.

Quelles fonctions logiques contrôlent les conditions et les valeurs par défaut ?

Les fonctions logiques vérifient des conditions et renvoient différentes valeurs selon le résultat, sans que vous ayez à créer une branche distincte dans le flux.

  • if(expression, valeurSiVrai, valeurSiFaux): Vérifie une condition booléenne et renvoie l'une de deux valeurs selon le résultat. if(equals(1, 1), 'oui', 'non') donne "oui". La fonction if() ne comprend pas directement les opérateurs comme > ou <, pour cela vous la combinez avec greater() ou less().
  • equals(valeur1, valeur2): Vérifie si deux valeurs sont identiques et renvoie true ou false. Souvent utilisée comme premier argument dans if().
  • coalesce(valeur1, valeur2, ...): Renvoie la première valeur qui n'est pas null. coalesce(triggerBody()?['nomPrefere'], triggerBody()?['nomAffiche'], 'Inconnu') passe au champ suivant dès qu'un champ est manquant. Les chaînes vides ne comptent pas comme null.
  • empty(collection): Vérifie si une chaîne de caractères, un tableau ou un objet est vide et renvoie true ou false. empty('') donne true, empty('abc') donne false. La fonction ne fonctionne pas avec les nombres.

Comment accéder à des éléments individuels dans des listes ?

Les fonctions de collection fonctionnent aussi bien sur les tableaux que sur les chaînes de caractères et sont particulièrement utiles dans les boucles lorsque vous avez besoin d'éléments individuels plutôt que de la liste entière.

  • first(collection): Renvoie le premier élément d'une chaîne de caractères ou d'un tableau. first('hallo') donne "h", first(createArray(0, 1, 2)) donne 0.
  • length(collection): Compte le nombre de caractères d'une chaîne de caractères ou d'éléments d'un tableau. length('abcd') et length(createArray(0, 1, 2, 3)) donnent tous deux 4.

Une fois que vous avez essayé ces 15 fonctions dans vos propres exemples, la plupart des problèmes de flux peuvent être résolus sans connecteurs tiers supplémentaires. Pour les équipes qui préfèrent construire leurs flux avec un prix fixe et un interlocuteur direct plutôt qu'en autonomie, NordFlux propose son accompagnement pour le conseil Power Automate de la première expression jusqu'au flux en production.

Questions fréquentes sur les expressions Power Automate

Où saisir une expression dans Power Automate ?

Dans le concepteur de flux, ouvrez l'onglet "Expression" via l'icône de fonction (fx) ou l'éditeur d'expressions d'un champ, et saisissez la fonction directement à cet endroit. Vous pouvez aussi insérer du contenu dynamique via l'éditeur et l'entourer d'une fonction telle que formatDateTime() ou concat(). L'éditeur signale les erreurs de syntaxe dès la saisie, ce qui permet de repérer rapidement les parenthèses manquantes.

Pourquoi formatDateTime affiche-t-elle une date incorrecte ?

Cela vient généralement d'une confusion entre majuscules et minuscules dans la chaîne de format : MM représente le mois, mm les minutes, et dd le jour. Un format comme 'mm/DD/yyyy' inverse les minutes et le jour et produit ainsi une date manifestement incorrecte. Vérifiez la chaîne de format par rapport aux caractères de format .NET référencés par Microsoft Learn.

Puis-je imbriquer plusieurs fonctions les unes dans les autres ?

Oui, c'est même le cas habituel pour les expressions plus complexes. Un exemple est formatDateTime(addDays(utcNow(), 7), 'dd.MM.yyyy'), qui donne une date d'échéance dans une semaine directement au format allemand souhaité. L'évaluation se fait de l'intérieur vers l'extérieur, comme pour les formules imbriquées dans Excel.

Quelle est la différence entre coalesce et une vérification avec if et empty ?

coalesce() vérifie exclusivement la présence de null et ne saute pas automatiquement les chaînes vides, tandis qu'une combinaison de if() et empty() peut en plus traiter les chaînes vides comme "aucune valeur". Pour des valeurs par défaut simples en cas de champs manquants, coalesce() suffit ; pour une validation plus stricte des champs obligatoires, la combinaison avec empty() est le choix le plus robuste.

À propos de NordFlux

NordFlux UG (haftungsbeschränkt)

NordFlux construit des employés numériques pour les organisations : des automatisations et des agents KI qui prennent en charge le travail répétitif. Vous gardez le contrôle.

En savoir plus sur nous
Analyse initiale gratuite

Des questions concrètes sur l’automatisation ou l’IA ?

Lors d’une analyse initiale gratuite, nous discutons directement de votre cas. Sans engagement.