Power Apps - Fonctions principales
1. Fonctions Générales
1.1 Interaction utilisateur et contrôles
Fonctions Power Apps - Utilisateur et contrôles
| Fonction | Rôle | Syntaxe | Exemples |
| Notify | Affiche un message de notification à l'utilisateur. | Notify(Message, TypeNotification, Délai) | Notify("Enregistrement réussi !", NotificationType.Success, 2000) |
| Reset | Réinitialise un contrôle à sa valeur par défaut. | Reset(Contrôle) | Reset(TextInput1) (Vide le champ de texte TextInput1) |
| RGBA | Définit une couleur en spécifiant les valeurs Rouge, Vert, Bleu et Alpha (transparence). | RGBA(Rouge, Vert, Bleu, Alpha) | Fill: RGBA(255, 0, 0, 1) (Remplissage rouge opaque) |
1.2 Contrôle de flux et navigation
Fonctions Power Apps - Contrôle de Flux et Navigation
| Fonction | Rôle | Syntaxe | Exemples |
| Concurrent | Exécute plusieurs expressions ou chargements de données simultanément pour améliorer les performances. | Concurrent(Expression1, Expression2, ...) | Concurrent(SaveData(MaCollection, "DonneesLocales"), ClearCollect(MaCollection2, DataSource2)) |
| Navigate | Change la page affichée dans l'application. | Navigate(ÉcranCible, Transition, Contexte) | Navigate(ScreenDetailsProduit, ScreenTransition.Cover, {ProductID: ThisItem.ID}) |
| Launch | Lance une page Web externe ou une autre application Power Apps. | Launch(Adresse, Paramètres, Cible) | Launch("https://www.google.com") Launch("https://apps.powerapps.com/play/...", {Param: "Value"}) |
| Param | Récupère un paramètre passé à l'application via son URL. | Param("NomDuParamètre") | Label.Text: "Valeur du paramètre : " & Param("MonParam") |
1.3 Manipulations génériques de données
Fonctions Power Apps - Manipulation de Données (Générique)
| Fonction | Rôle | Syntaxe | Exemples |
| ForAll | Exécute une formule pour chaque enregistrement d'une table. | ForAll(Source, Formule) | ForAll(Gallery1.AllItems, Remove(MaSource, ThisRecord)) (Supprime tous les éléments sélectionnés d'une source) |
| JSON | Génère une chaîne de texte JSON à partir d'une valeur de données. Utilisé par exemple pour récupérer le contenu d'un champ Image ou signature. | JSON(Data, Format) | JSON(Image1.Image, JSONFormat.IncludeBinaryData) |
| GroupBy | Regroupe des donnéés | GroupBy( Table, ColumnName1 [, ColumnName2, ... ], GroupColumnName ) | GroupBy( Ventes, Région, Département) |
1.4 Informations système et utilisateur
Fonctions Power Apps - Informations Système et Utilisateur
| Fonction | Rôle | Syntaxe | Exemples |
| Connection.Connected | Vérifie l'état de la connexion réseau de l'application. | Connection.Connected | If(Connection.Connected, Notify("En ligne"), Notify("Hors ligne", NotificationType.Warning)) |
| User | Récupère des informations sur l'utilisateur actuellement connecté. | User().Email User().FullName | Label.Text: "Bonjour " & User().FullName |
1.5 Fonctions de date et heure
Fonctions Power Apps - Fonctions de date et heure
| Fonction | Rôle | Syntaxe | Exemples |
| DateAdd | Ajoute une valeur spécifiée (en jours, mois, années, etc.) à une valeur de date/heure. | DateAdd(Date, Nombre, Unité) | DateAdd(Today(), 7, Days) (Ajoute 7 jours à la date d'aujourd'hui) |
| DateValue | Convertit une chaîne de texte en valeur de date. | DateValue(TexteDate, Langue) | DateValue("1er janvier 2023", "fr-FR") |
1.6 Intégrations externes
Fonctions Power Apps - Intégrations externes
| Fonction | Rôle | Syntaxe | Exemples |
| Office365Outlook | Permet d'envoyer un email directement depuis l'application (nécessite la connexion de données Office 365 Outlook). | Office365Outlook.SendEmailV2(À, Objet, Corps, Options) | Office365Outlook.SendEmailV2("destinataire@exemple.com", "Rapport", "Voir le rapport ci-joint.") |
2. Gestion des variables
Fonctions Power Apps - Variables
| Fonction | Rôle | Syntaxe | Exemples |
| UpdateContext | Définit une variable dont la portée est limitée à la page (écran) actuelle. Utile pour des valeurs temporaires ou spécifiques à un écran. | UpdateContext({NomVariable1: Valeur1, NomVariable2: Valeur2}) | UpdateContext({MaCouleur: RGBA(255, 0, 0, 1), MonTexte: "Bonjour"}) UpdateContext({Personne: {Nom: "Jean", Adresse: "3 rue principale"}}) (Crée une variable enregistrement) UpdateContext({Personne: {Adresse: "4 rue principale"}}) (Modifie la propriété d'une variable enregistrement existante) |
| Set | Définit une variable globale dont la portée s'étend à toute l'application. Idéal pour des valeurs partagées entre plusieurs écrans. | Set(NomVariable, Valeur) | Set(EstAdmin, User().Email = "admin@monentreprise.com") |
3. Gestion des collections
| Fonction | Rôle | Syntaxe | Exemples |
| ClearCollect | Efface tous les enregistrements d'une collection existante puis la remplit avec de nouveaux enregistrements à partir d'une source de données ou d'une table. | ClearCollect(NomCollection, SourceOuTable) | ClearCollect(MaCollectionProduits, ProduitsDataSource) (Efface et remplit avec les produits) ClearCollect(TempData, {ID:1, Nom:"A"}, {ID:2, Nom:"B"}) (Crée une collection avec des données statiques) |
| Clear | Efface tous les enregistrements d'une collection, la laissant vide. | Clear(NomCollection) | Clear(MaCollectionProduits) |
| Collect | Ajoute un ou plusieurs enregistrements à une collection. Si la collection n'existe pas, elle est créée. | Collect(NomCollection, Enregistrement1, Enregistrement2, ...) Collect(NomCollection, TableDEnregistrements) | Collect(MonPanier, Gallery1.Selected) (Ajoute l'élément sélectionné dans une galerie au panier) Collect(Logs, {Timestamp: Now(), Action: "Bouton cliqué"}) |
4. Fonctions de gestion des sources de données
| Fonction | Rôle | Syntaxe | Exemples |
| Filter | Retourne une table contenant les enregistrements d'une source de données qui satisfont une ou plusieurs conditions (formules). | Filter(Source, Formule1, Formule2, ...) | Filter(Commandes, Statut = "En cours" && Quantité > 10) Filter(Produits, "chaussure" in NomProduit) (Utilisation de in) Filter(Utilisateurs, ThisItem.EstActif) (Utilisation de ThisItem) |
| Search | Retourne une table filtrée en fonction d'une chaîne de recherche appliquée à une ou plusieurs colonnes spécifiées. Utile pour les recherches textuelles "multi-colonnes". | Search(Source, TexteRecherché, Colonne1, Colonne2, ...) | Search(Clients, TextInputSearch.Text, Nom, Prenom, Email) |
| LookUp | Retourne le premier enregistrement d'une source de données qui correspond aux critères spécifiés. | LookUp(Source, Formule, ColonneÀRetourner) | LookUp(Produits, ID = 123, Nom) (Retourne le nom du produit avec l'ID 123) LookUp(Utilisateurs, Email = "test@exemple.com") (Retourne l'enregistrement complet de l'utilisateur) |
| CountRows | Compte le nombre d'enregistrements (lignes) dans une source de données ou une table. | CountRows(SourceOuTable) | CountRows(Filter(Commandes, Statut = "Terminé")) |
| Patch | Met à jour des enregistrements existants ou ajoute de nouveaux enregistrements à une source de données. | Patch(Source, EnregistrementOriginal, EnregistrementÀModifier) (Pour mise à jour) Patch(Source, Defaults(Source), NouvelEnregistrement) (Pour ajout) | Mettre à jour : Patch(Clients, LookUp(Clients, ID=1), {Email: "nouvel@exemple.com"})Ajouter : Patch(Commandes, Defaults(Commandes), {Date: Today(), Article: "Stylo"}) |
5. Affichage des données (galeries & formulaires)
| Fonction | Rôle | Syntaxe | Exemples |
| Gallery.Selected.'NomDuChamp' ou DataTable.Selected.'NomDuChamp' | Récupère la valeur d'un champ spécifique de l'enregistrement actuellement sélectionné dans une Galerie ou une DataTable. | NomDeMaGalerie.Selected.'Nom du champ' | Label.Text: BrowseGallery1.Selected.'Titre du Produit' |
| Gallery.Selected ou DataTable.Selected | Récupère l'enregistrement complet actuellement sélectionné dans une Galerie ou une DataTable. Fréquemment utilisé comme propriété Item d'un formulaire pour afficher/éditer l'enregistrement sélectionné. | NomDeMaGalerie.Selected | EditForm1.Item: BrowseGallery1.Selected |
6. Fonctions de gestion de formulaire
| Fonction | Rôle | Syntaxe | Exemples |
| NewForm | Met un contrôle de formulaire en mode "nouvel élément", vidant ses champs pour un nouvel enregistrement. Prépare le formulaire pour la saisie de nouvelles données. | NewForm(NomDuFormulaire) | NewForm(EditForm1) |
| EditForm | Met un contrôle de formulaire en mode "édition", affichant un enregistrement existant pour modification. | EditForm(NomDuFormulaire) | EditForm(EditForm1) (Généralement appelé après avoir sélectionné un élément dans une galerie) |
| SubmitForm | Soumet les données du formulaire à la source de données configurée. Déclenche la validation et la sauvegarde des données. | SubmitForm(NomDuFormulaire) | SubmitForm(EditForm1) |
7. Fonctions d’agréation
| Fonction | Rôle | Syntaxe | Exemples |
| AverageMaxMinSumStdevPVarP | Calcule la moyenne, le max, le min, la somme, l’écart-type, la variance | Average( NumericalFormula1, [ NumericalFormula2, ... ] )Average( Tableau, NumericalFormula ) | Avec 3 sliders : Sum(Slider1.Value, Slider2.Value, Slider3.Value)Sum(Ventes, CoutUnitaire * Quantite) |
8. Fonctions de couleurs
| Fonction | Rôle | Syntaxe | Exemples |
| Color. ColorName | Expose une couleur | Average( NumericalFormula1, [ NumericalFormula2, ... ] )Average( Tableau, NumericalFormula ) | Color. AliceBlueColor. YellowGreen |
| ColorValue | Expose une couleur | ColorValue(CSSColor)ColorValue(CodeHexe) | ColorValue("AliceBlue") ColorValue("#f0f8ff") |
| RGBA | Expose une couleur | RGBA( Rouge, Vert, Bleu, Alpha ) | RGBA(0,0,0,0) |
| ColorFade | Expose une couleur | ColorFade( Color, FadeAmount ) | ColorFade( Color.Red, 50% ) |