Power Apps formulaire SharePoint : personnaliser ou créer une app

Power Apps et formulaire SharePoint : personnaliser le formulaire d'une liste ou créer une application canvas, SubmitForm, validation, colonnes de choix.

Pour créer un formulaire Power Apps sur une liste SharePoint, vous avez deux options. La première : personnaliser le formulaire de la liste (menu Intégrer > Power Apps > Personnaliser les formulaires). Le formulaire Power Apps remplace alors le formulaire standard, directement dans SharePoint. La seconde : créer une application canvas à partir de la liste (Intégrer > Power Apps > Créer une application), qui s’ouvre à part, dans le navigateur ou sur mobile. La première convient pour améliorer la saisie d’une liste existante. La seconde s’impose dès qu’il faut plusieurs écrans, plusieurs listes ou une vraie expérience applicative.

Quelle différence entre formulaire personnalisé et application canvas ?

Critère Formulaire de liste personnalisé Application canvas sur la liste
Où l’utilisateur le voit Dans la liste, à la place du formulaire standard Dans une application à part (web, mobile, Teams)
Données Une liste principale (d’autres sources peuvent être ajoutées) Autant de sources que nécessaire
Écrans Un formulaire, éventuellement plusieurs écrans Navigation complète : accueil, recherche, détail, tableaux de bord
Boutons Enregistrer / Annuler Ceux de SharePoint Ceux que vous concevez
Partage Hérité des permissions de la liste Partage explicite de l’application
Cas typique Rendre une saisie plus guidée et plus fiable Outil métier complet pour une équipe

Un formulaire personnalisé reste un formulaire : l’utilisateur ouvre la liste, clique sur Nouveau ou sur un élément, et voit votre formulaire Power Apps dans le volet latéral. C’est idéal pour une liste de demandes d’achat, un registre d’incidents ou un suivi de contrats, où l’on veut surtout contrôler la saisie.

Comment personnaliser le formulaire d’une liste SharePoint ?

  1. Ouvrez la liste dans SharePoint (ou Microsoft Lists).
  2. Dans la barre de commandes, sélectionnez Intégrer > Power Apps > Personnaliser les formulaires.
  3. Power Apps Studio s’ouvre avec un formulaire généré à partir des colonnes de la liste.
  4. Modifiez la mise en page, ajoutez de la logique (champs conditionnels, valeurs par défaut, contrôles).
  5. Enregistrez (Fichier > Enregistrer ou Ctrl+S), puis sélectionnez Publier dans SharePoint (« Publish to SharePoint ») et confirmez.
  6. Revenez dans la liste et testez la création, la modification et la consultation d’un élément.

Seule la dernière version publiée apparaît dans SharePoint : un simple enregistrement ne suffit pas.

Comment fonctionne le formulaire généré ?

Le formulaire repose sur un contrôle spécial, SharePointIntegration, qui fait le lien entre les actions de l’utilisateur dans SharePoint et votre formulaire (nommé par défaut SharePointForm1). Ses propriétés, générées automatiquement, méritent d’être connues :

Propriété Déclenchée quand… Formule par défaut
OnNew l’utilisateur clique sur Nouveau NewForm(SharePointForm1)
OnView il ouvre un élément ViewForm(SharePointForm1)
OnEdit il clique sur Modifier EditForm(SharePointForm1)
OnSave il clique sur Enregistrer SubmitForm(SharePointForm1)
OnCancel il clique sur Annuler ResetForm(SharePointForm1)

Et sur le formulaire lui-même, la propriété OnSuccess vaut :

ResetForm(SharePointForm1);; RequestHide()

RequestHide() indique à SharePoint de fermer le volet. Sans elle, le formulaire reste affiché après l’enregistrement. (Les formules de cet article utilisent les séparateurs français : ; entre les arguments et ;; pour enchaîner deux actions.)

Comment fonctionne SubmitForm ?

SubmitForm envoie à SharePoint les valeurs de toutes les cartes du formulaire. Avant l’envoi, la fonction vérifie les champs obligatoires et les contraintes de chaque colonne. Si la vérification échoue, rien n’est enregistré ; si l’envoi échoue côté SharePoint, c’est OnFailure qui s’exécute. Pensez à y afficher l’erreur, plutôt que de laisser l’utilisateur deviner :

Notify(SharePointForm1.Error; NotificationType.Error)

Comment ajouter une règle de validation ?

Une colonne marquée obligatoire dans SharePoint l’est aussi dans le formulaire. Pour une règle conditionnelle, déverrouillez la carte concernée (Avancé > Déverrouiller) et modifiez sa propriété Required. Exemple : une justification devient obligatoire au-delà de 5 000 € dans une liste de demandes d’achat.

// Propriété Required de la carte « Justification »
Value(DataCardValue_Montant.Text) > 5000

Pour un contrôle plus fin, vous pouvez conditionner l’envoi dans OnSave du contrôle SharePointIntegration :

If(
    DateValidite.SelectedDate < Today();
    Notify("La date de validité ne peut pas être passée."; NotificationType.Error);
    SubmitForm(SharePointForm1)
)

Renommez vos contrôles (DateValidite, DataCardValue_Montant) : des formules qui parlent de DataCardValue7 deviennent illisibles en quelques semaines.

Colonnes de choix et de recherche : les pièges

Les colonnes Choix, Recherche (lookup) et Personne sont des types « complexes » dans Power Apps : leur valeur est un enregistrement, pas un simple texte.

Colonne de choix

La liste des valeurs possibles s’obtient avec Choices :

Choices([@'Demandes achat'].Statut)

Pour lire la valeur sélectionnée, utilisez .Value : ThisItem.Statut.Value. Pour imposer une valeur par défaut à la création uniquement, sur la propriété DefaultSelectedItems de la liste déroulante :

If(
    SharePointForm1.Mode = FormMode.New;
    {Value: "Nouvelle"};
    Parent.Default
)

Colonne de recherche

Une colonne de recherche pointe vers un élément d’une autre liste. Choices renvoie alors des enregistrements composés d’un Id et d’une Value. Si vous écrivez vous-même dans la liste avec Patch (dans une application canvas par exemple), il faut fournir les deux :

Patch(
    'Demandes achat';
    Defaults('Demandes achat');
    {
        Title: txtObjet.Text;
        Statut: {Value: "Nouvelle"};
        Fournisseur: {Id: cmbFournisseur.Selected.Id; Value: cmbFournisseur.Selected.Value}
    }
)

Dans un formulaire, la carte s’en charge pour vous : tant que vous ne remplacez pas le contrôle d’origine, laissez sa propriété Update intacte.

Attention aussi à la délégation : Choices n’est pas délégable, et filtrer une liste volumineuse sur les sous-champs d’une colonne de choix ou de recherche a ses limites. Nous détaillons ces règles dans Délégation Power Apps : comprendre et corriger l’avertissement.

Publication, accès et retour arrière

  • Qui voit le formulaire ? Vous ne le partagez pas : toute personne ayant au moins un accès Lecture (ou Affichage restreint) à la liste en hérite. Les utilisateurs qui n’ont des droits que sur certains éléments de la liste ne voient pas le formulaire personnalisé.
  • Revenir au formulaire standard : dans Paramètres de la liste > Paramètres du formulaire, choisissez Utiliser le formulaire SharePoint par défaut. Votre formulaire Power Apps n’est pas supprimé : vous pouvez le réactiver au même endroit.
  • Changer d’environnement : il n’existe pas de méthode automatisée pour copier un formulaire de liste d’un environnement à un autre. Microsoft publie un livre blanc dédié à ce déplacement.

Les limites à connaître

  • Les propriétés du contrôle SharePointIntegration ne sont disponibles que lorsque le formulaire s’exécute dans SharePoint, pas dans le Studio, et pas forcément dans OnStart ou OnVisible. Placez la logique d’initialisation dans OnNew, OnEdit ou OnView.
  • Pour récupérer l’élément ouvert de façon fiable, préférez LookUp('Demandes achat'; ID = SharePointIntegration.SelectedListItemID) à SharePointIntegration.Selected, qui peut ne pas renvoyer la dernière valeur.
  • Les variables et collections persistent pendant toute la session : réinitialisez-les dans OnView ou OnNew, sinon un utilisateur peut voir les valeurs de l’élément précédent.
  • N’appelez pas de fonctions comme Launch() dans OnNew ou OnView : ces événements peuvent se déclencher en arrière-plan, même formulaire fermé.
  • Le bouton Annuler ferme toujours le volet : vous ne pouvez pas l’empêcher, seulement réinitialiser le formulaire dans OnCancel.
  • Si vous ajoutez des connecteurs premium (SQL Server, Dataverse…), vérifiez les licences de vos utilisateurs.

Quand passer à une application canvas ?

Dès que l’un de ces besoins apparaît, le formulaire de liste devient trop étroit :

  • un parcours en plusieurs étapes, avec des écrans successifs et des retours en arrière ;
  • la combinaison de plusieurs listes (une demande et ses lignes de commande, par exemple) ;
  • un usage mobile ou dans Teams, sans passer par SharePoint ;
  • des tableaux de bord ou une recherche avancée.

Le menu Intégrer > Power Apps > Créer une application génère une application prête à l’emploi : un écran unique et adaptatif (tablette et téléphone) qui regroupe la consultation, le détail, l’ajout, la modification et la suppression des éléments. Les applications générées auparavant gardent leur ancienne structure en trois écrans. Vous enrichissez ensuite cette base à votre guise. Quand les volumes ou les exigences de sécurité augmentent, la question de la source se pose : voyez SharePoint ou Dataverse. Et pour déclencher une validation hiérarchique à l’enregistrement, Power Automate prend le relais : c’est l’objet de notre article sur le circuit d’approbation avec Power Automate.

Personnaliser un formulaire, c’est souvent la première marche vers des applications métier plus ambitieuses. La formation Power Apps — Créer des applications Canvas couvre les formulaires, SubmitForm, Patch et la validation sur des cas concrets. Et si vos listes elles-mêmes méritent d’être repensées (types de colonnes, recherches, vues, permissions), SharePoint — Structurer et gérer ses données pose des fondations solides.

Questions fréquentes

Où se trouve l’option « Personnaliser les formulaires » ?

Dans la liste SharePoint ou Microsoft Lists, menu Intégrer > Power Apps > Personnaliser les formulaires. Si l’option n’apparaît pas, vérifiez vos droits sur la liste et, le cas échéant, interrogez votre administrateur Microsoft 365 sur la disponibilité de Power Apps dans votre organisation.

Pourquoi mes modifications n’apparaissent-elles pas dans SharePoint ?

Parce que l’enregistrement ne suffit pas : il faut cliquer sur Publier dans SharePoint. Seule la dernière version publiée est affichée aux utilisateurs. Pensez aussi à actualiser la page de la liste.

Comment supprimer un formulaire Power Apps et revenir au formulaire standard ?

Ouvrez Paramètres de la liste > Paramètres du formulaire et sélectionnez Utiliser le formulaire SharePoint par défaut. Le formulaire personnalisé reste disponible et peut être réactivé plus tard.

Faut-il utiliser SubmitForm ou Patch ?

Dans un formulaire, utilisez SubmitForm : il gère la validation, les modes nouveau/modification et les types complexes. Patch est utile quand vous écrivez sans formulaire, par exemple depuis une galerie ou pour mettre à jour plusieurs listes à la fois.