Skip to content
Power Platform - Apps - Automate - SharePoint
  • Pages
    • Support Power Platform - Power Apps - Power Automate
      • Licences
      • Mises à jour (waves)
      • Environnement & Solutions
        • Attribuer des droits sur un environnement
      • Power BI
      • Liens vers nos supports
    • Architecture Power Platform
      • Modéliser des données
    • Administrer Power Platform
      • Références
      • Sécurité
      • Center of Excellent (CeE)
      • Application Lifecycle Management (ALM) [WiP]
    • Power Apps
      • Références
      • Différence entre le développement impératif et le développement déclaratif
      • icon picker
        Les types d’objets dans Power Apps Canvas
      • Process de développement d'applications PowerApps
        • Contrôles
        • Contrôles modernes
        • Charte de nommage et bonnes pratiques Power Apps Canvas
      • Power Apps - Fonctions principales
        • Tips Fonctions
        • Fonction Patch
          • Patch des types complexes d'une liste SharePoint
        • ForAll, GroupBy et AddColumns dans Power Apps Canvas
        • Les formules nommées (Formulas) dans Power Apps Canvas
      • Modes opératoires
        • Application Canvas - Guide de survie (Liste SP pour mobile)
          • Création d’une application Power Apps Canvas mobile et Excel [WiP]
          • Création d’une application Power Apps Canvas
        • Flux PowerAutomate à partir de Power Apps
        • Compléter un modèle Word et générer un PDF [Premium]
        • Récupérer une photo depuis la caméra
        • Listes en cascade
        • Sélectionner un utilisateur (Liste SP)
        • Partager une application Power Apps
        • Création d’un composant MsgBox de confirmation de suppression
      • AI Builder dans Power Apps
      • Gestion du cycle de vie d’une application Power Apps (ALM)
      • Alternatives à PowerApps
      • Applications basées sur un modèle (model driven apps)
        • Modèles Word avec une application pilotée par modèle
        • Lancer un flux depuis un bouton d'une application pilotée par modèle
        • Ressources JavaScript
      • Développeur
        • JS
        • Outils externes
        • Bibliothèque de composants
      • Quizz
    • Power Automate
      • Références
      • Syntaxe générale
      • Fonctions
        • JSON
        • Tips
        • Manipulations fichiers SharePoints [ToDo]
      • Modes opératoires
        • Approbations
          • Généralités
          • Approbations simples
          • [Exo] Commande fournisseur
        • [WiP] Ajouter un bouton de colonne SharePoint qui exécute un flux
        • Créer un PDF à partir de code HTML avec image
        • [WiP] Exécuter un flux depuis une ligne sélectionnée dans Excel
          • Copier un fichier depuis une PJ Outlook
        • Envoyer "en tant que"
        • Compter des éléments, même supprimés (table Audits)
      • AI Builder dans Power Automate
      • Alternatives à Power Automate
      • Power Automate pour le Bureau (PA
        • Ressources pédagogiques
    • Dataverse
      • Références
      • Common Data Model
      • Tables [WIP]
      • Colonnes [WIP]
      • Sécurité
      • Développeur
      • Référence automatique
      • Application pilotée par modèle
        • Exemple pratique
        • Migration depuis Access
    • copilot
      Copilot
      • copilot-studio
        Copilot Studio
      • copilot
        [Exo] Copilot
        • Copilot pour Power Apps (Office Agent)
        • [Exo1] Créer une application Canvas
        • [Exo2] Créer une application Canevas Power Apps pour une solution immobilière à l’aide de Copilot dans Power Apps
        • [Exo3] Générer du texte avec GPT dans AI Builder
        • [Exo4] Créer un site Web Power Pages avec Copilot
        • [Exo5] Créer un copilote pour une solution immobilière à l’aide du langage naturel dans Copilot Studio
        • [Exeo6@ Prédiction avec AI Builder
      • power-automate
        Copilot pour Power Automate
      • power-apps
        Copilot pour Power Apps
    • Microsoft 365 & SharePoint
      • Vue d'ensemble de Microsoft 365 et SharePoint
      • Déroulé pédagogique
        • Module 1 : Microsoft 365 et SharePoint Online
        • Module 2 : Bibliothèques et listes
        • Module 3 : Intégration Office et gestion des documents
        • Module 4 : Type de contenu
        • Module 5 : Personnalisation des pages
        • Module 6 : Personnalisation des sites et des espaces de travail
        • Module 7 : Gestion de la sécurité
        • Module 8 : Workflows Power Automate
      • Bonnes pratiques
      • Sites SharePoint
        • Types de sites
        • Hiérarchies de sites
          • Sous-sites vs Hubs de sites
        • Créer un site
        • Principaux composants
          • Navigation
          • Composant WebPart dans les pages
          • Bibliothèques de document & Listes
          • Lien avec Teams
        • Pages d'un site SharePoint
        • Partage de flux d'un fichier ou d'un élément sélectionné
      • Listes SharePoint
        • Créer une liste
          • Créer une colonne
          • Gérer les vues
        • Power Automate avec des listes SharePoint
        • Mettre à jour une Liste SharePoint depuis Excel
        • TIPS
      • Bibliothèques de fichiers & dossiers SharePoint [WiP]
        • Rétention
        • Généralités
          • Création d'un nouveau document
          • Associer un modèle de document
          • Affichage et modification de documents dans le navigateur
          • Affichage et modification de documents dans le client
          • Téléchargement de documents
          • Déplacement et copie de documents
          • Affichage et modification des paramètres de la bibliothèque de documents
          • Paramètres de gestion des versions, approbation du contenu et extraction de documents
      • Intégration Power Apps
      • Droits & sécurité
      • API
      • Administration & rôles
    • Exercices
      • pl-7001
        PL-7001 - Power Apps Canvas
        • Lab 0 – Valider l'environnement de laboratoire
        • Lab 1 – Créer une application canevas à partir de données
        • Lab 2 – Modèle de données
        • Lab 3 – Créer une application canevas
        • Lab 4 – Créer l'interface utilisateur
        • Lab 5 – Données externes
        • Lab 6 – Formulaires
        • Lab 7 – Gérer les applications canevas
      • pl-7002
        PL-7002 - Power Automate
        • Lab 0 - Vérifier l’environnement de labo
        • Lab 1 - Créer des flux de cloud
        • Lab 2 - Modèle de données Dataverse
        • Lab 3 - SharePoint
        • Lab 4 - Flux d’approbation [SP]
        • Lab 5 - Flux de bouton [DV]
        • Lab 6 - Flux planifié [SP]
        • Lab 7 - Filtres de déclencheur [DV]
    • Exos Power Apps Power Automate
      • [Exo A] Flux avec une liste SharePoint
      • [Exo06] Créer une application Canvas avec Copilot
      • Flux avec une table Dataverse
        • Créer la source Dataverse
        • Créer le flux de bouton
        • Créer un flux automatisé avec filtre
      • Flux avec une liste SharePoint

Les types d’objets dans Power Apps Canvas

Power Apps Canvas manipule plusieurs types d’objets fondamentaux qu’il est essentiel de distinguer pour écrire des formules correctes.
TODO Interface français

Table

Une table est une structure de données contenant zéro, un ou plusieurs enregistrements partageant les mêmes colonnes. C’est l’équivalent d’un tableau ou d’une liste.

Création explicite

Table(
{ Nom: "Dupont"; Age: 34 };
{ Nom: "Martin"; Age: 28 }
{ Nom: "Bernard"; Age: 45 }
)

Sources courantes de tables

Collections créées avec ClearCollect ou Collect
Connecteurs de données (SharePoint, Dataverse, Excel, SQL Server)
Résultat des fonctions Filter, Sort, Search, GroupBy

Exemple d’utilisation

// Filtrer une table pour obtenir une nouvelle table
Filter(Employes; Departement = "Ventes")

// Compter les lignes d'une table
CountRows(Clients)

Enregistrement (Record)

Un enregistrement est une ligne unique de données composée de colonnes nommées. C’est un élément individuel d’une table.

Création explicite

{ Nom: "Dupont", Prenom: "Marie", Email: "m.dupont@email.fr" }

Fonctions retournant un enregistrement

Fonction
Description
First(Table)
Premier enregistrement d’une table
Last(Table)
Dernier enregistrement d’une table
Index(Table, N)
Enregistrement à la position N
LookUp(Table, Condition)
Premier enregistrement correspondant à une condition
There are no rows in this table

Exemple d’utilisation

// Récupérer le premier client
First(Clients)

// Trouver un employé spécifique
LookUp(Employes, Matricule = "EMP001")

// Accéder à une colonne d'un enregistrement
LookUp(Employes, Matricule = "EMP001").Nom

Différence entre table et enregistrement

// Ceci est une TABLE (même avec un seul résultat)
Filter(Clients, Ville = "Paris")

// Ceci est un ENREGISTREMENT
LookUp(Clients, Ville = "Paris")

Colonne

Une colonne représente un champ unique au sein d’une table ou d’un enregistrement. On y accède via l’opérateur point.

Accès à une colonne

// Depuis un enregistrement
First(Clients).Nom

// Extraire une colonne entière d'une table (retourne une table à une colonne)
ShowColumns(Clients, Nom)

Fonctions d’agrégation sur colonnes

// Somme d'une colonne numérique
Sum(Ventes, Montant)

// Moyenne
Average(Employes, Salaire)

// Valeur maximale
Max(Produits, Prix)

// Valeurs distinctes (retourne une table)
Distinct(Clients, Ville)

Valeur scalaire

Une valeur scalaire est une donnée unique et indivisible : texte, nombre, booléen, date, etc.

Types de valeurs scalaires

Type
Exemples
Fonctions associées
Texte (Text)
“Bonjour”, “ABC123”
Text(), Concatenate(), Left(), Len()
Nombre (Number)
42, 3.14, -100
Value(), Round(), Abs(), Mod()
Booléen (Boolean)
true, false
And(), Or(), Not(), If()
Date
Date(2026, 1, 27)
Today(), Now(), DateAdd(), DateDiff()
Heure (Time)
Time(14, 30, 0)
Hour(), Minute(), Second()
GUID
GUID()
NewGuid()
There are no rows in this table

Exemple d’utilisation

// Extraction d'une valeur scalaire depuis une table
LookUp(Employes, Matricule = "EMP001").Salaire

// Opérations sur valeurs scalaires
Text(Today(), "dd/mm/yyyy")
Upper("dupont")
Round(3.14159, 2)

Collection

Une collection est une table stockée localement dans l’application, en mémoire. Elle peut être créée, modifiée et supprimée pendant l’exécution.

Création et manipulation

// Créer ou remplacer une collection
ClearCollect(colPanier,
{ Article: "Stylo", Qte: 5, Prix: 2.50 },
{ Article: "Cahier", Qte: 3, Prix: 4.00 }
)

// Ajouter des enregistrements
Collect(colPanier, { Article: "Gomme", Qte: 2, Prix: 1.00 })

// Modifier un enregistrement
Patch(colPanier, LookUp(colPanier, Article = "Stylo"), { Qte: 10 })

// Supprimer des enregistrements
Remove(colPanier, LookUp(colPanier, Article = "Gomme"))

// Vider une collection
Clear(colPanier)

Variables

Power Apps propose deux types de variables pour stocker des valeurs temporaires.

Variable globale

Accessible depuis tous les écrans de l’application.
// Définir une variable globale
Set(varUtilisateurConnecte, User().FullName)
Set(varCompteur, 0)
Set(varModeEdition, true)

// Utilisation
If(varModeEdition, "Édition", "Lecture")

Variable contextuelle

Limitée à l’écran où elle est définie.
// Définir une variable contextuelle
UpdateContext({ locAfficherPopup: true })
UpdateContext({ locClientSelectionne: ThisItem })

// Définir plusieurs variables à la fois
UpdateContext({
locPage: 1;
locFiltre: "Tous";
locChargement: false
})

Tableau comparatif des types

Type
Contenu
Exemple de création
Accès
Table
Plusieurs enregistrements
Table({A:1},{A:2})
Filter(), First()
Enregistrement
Une ligne de données
{Nom:"X", Age:30}
.NomColonne
Colonne
Valeurs d’un champ
ShowColumns(T,"Col")
Agrégations
Valeur scalaire
Donnée unique
42, "texte", true
Directement
Collection
Table locale modifiable
ClearCollect(col,...)
Comme une table
Variable globale
Valeur persistante
Set(var, valeur)
Nom de la variable
Variable contextuelle
Valeur locale à l’écran
UpdateContext({v:1})
Nom de la variable
There are no rows in this table

Conversions entre types

Table vers enregistrement

// Obtenir un enregistrement depuis une table
First(MaTable)
LookUp(MaTable; ID = 5)
Index(MaTable; 3)

Enregistrement vers table

// Encapsuler un enregistrement dans une table
Table(MonEnregistrement)

Table vers valeur scalaire

// Extraire une valeur unique
First(Clients).Nom
LookUp(Produits, Code = "P001").Prix
Sum(Ventes, Montant)
CountRows(Commandes)

Erreurs courantes à éviter

Erreur
Problème
Solution
Filter(...).Nom
Filter retourne une table, pas un enregistrement
Utiliser First(Filter(...)).Nom ou LookUp()
LookUp(...) dans une galerie
LookUp retourne un enregistrement, pas une table
Utiliser Filter() comme source de la galerie
There are no rows in this table

Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.