Catégories
Prestations Audits Formations

Formulaire Power Apps à onglets

Dans cet exemple, vous découvrirez comment créer un formulaire Power Apps avec des onglets.

Pour ce faire, l’astuce consiste à utiliser des boutons qui seront suffisamment arrondis pour ressembler à des onglets.

Par ailleurs, afin de s’éviter trop de manipulations, un premier bouton nommé Jouets sera entièrement configuré. Ensuite, il sera copié 2 fois pour disposer au total de 3 boutons et donc 3 onglets. Il suffira de changer le texte des 2 nouveaux boutons pour les identifier.

Enfin, vous terminerez en associant les contrôles cartes de données aux onglets correspondants.

Préparation

Personnaliser le formulaire SharePoint

Tout d’abord, ouvrez vote site SharePoint puis sur ce site, ouvrez la liste lstAffaires avec l’interface moderne.

Ensuite, dans le menu de la liste, cliquez sur Power Apps, puis dans le sous-menu qui s’ouvre, cliquez sur Personnaliser les formulaires.

Patientez quelques instants, le temps du chargement et de la préparation du formulaire.

Préparer le formulaire

Une fois que le formulaire est ouvert dans Power Apps, fermez le volet Champs avec la croix.

Ensuite, supprimez le contrôle Image1. Ce contrôle avait été inséré précédemment dans le TP Personnaliser une liste SharePoint.

Donnez la couleur suivante au formulaire :

SharePointForm.Fill = RGBA(0; 120; 212; 1)

Puis, avec l’onglet Insérer, insérez une étiquette puis configurez ses propriétés :

Label1.Text = "Détail d'une affaire"
Label1.FontWeight = Bold
Label1.Italic = True
Label1.Height = 151
Label1.Size = 28

Ajouter un bouton

Ensuite, avec l’onglet Insérer, insérez un bouton. Grâce aux propriétés, remplacez le texte Bouton par le texte Jouet.

Button1.Text = "Jouet"

Puis, modifiez la courbure du haut du bouton de 20 degrés :

Button1.RadiusTopLeft = 20
Button1.RadiusTopRight = Button1.RadiusTopLeft

Comprendre les effets visuels des onglets

Un onglet est une sorte “d’illusion d’optique”.

En effet, lorsque l’utilisateur clique sur un onglet, il s’attend à voir l’onglet sur lequel il a cliqué “s’activer”. Inversement, il s’attend à voir les autres onglets “se désactiver”. Ces phénomènes visuels s’obtiennent en jouant sur les paramètres de couleur du bouton et ceux liés aux bordures de l’onglet.

Vous trouverez l’explication des propriétés de couleur et de bordure dans Power Apps sur le site de Microsoft Docs, qui est consultable grâce à ce raccourci : https://coudr.com/powco

De plus, le paramétrage de ces propriétés utilise la fonction ColorFade(). Celle-ci renvoie une version plus claire ou plus sombre d’une couleur. La quantité de fondu varie de -100% (complètement noir) à 100%, qui éclaire complètement une couleur au blanc.

Vous trouverez l’aide de la fonction ColorFade() sur ce lien : https://coudr.com/powfn

Personnaliser les effets visuels des onglets

Configurez les couleurs et la bordure du bouton avec ces paramètres :

Button1.BorderColor = SharePointForm1.BorderColor
Button1.BorderStyle = BorderStyle.Solid
Button1.DisabledBorderColor = ColorFade(Button1.BorderColor;
60%)
Button1.DisabledColor = Button1.Color
Button1.DisabledFill = SharePointForm1.Fill
Button1.HoverBorderColor =
ColorFade(Button1.BorderColor; 20%)
Button1.HoverColor = Button1.Color
Button1.PressedBorderColor = Button1.Fill

Mécanisme d’activation

Les propriétés DisabledBorderColor, DisabledColor, DisabledFill ne s’affichent que si la valeur de la propriété DisplayMode est définie sur Disabled (désactivé). DisplayMode fait partie des propriétés principales de Power Apps, au même titre que OnSelect par exemple. Elle sert à définir si le contrôle autorise l’entrée utilisateur (valeur: Edit), affiche uniquement les données (valeur: View) ou est désactivé (valeur: Disabled).

Si un onglet n’est pas sélectionné, ses propriétés Disabled doivent s’afficher. Si l’onglet est sélectionné, ses propriétés Disabled ne doivent pas s’afficher. Pour savoir, si l’onglet est sélectionné, il suffit de stocker le texte de l’onglet dans une variable au moment où l’utilisateur clique sur l’onglet :

Button1.OnSelect = Set(varOngletTitre;Button1.Text)

Ensuite, il suffit de comparer la valeur de la variable avec la valeur du texte de l’onglet en cours. Configurez la propriété DisplayMode du bouton :

Button1.DisplayMode = If(varOngletTitre=Button1.Text;Disabled;Edit)

Finaliser le paramétrage du bouton

Enfin, pour une raison purement esthétique (et pédagogique), le texte de l’onglet est aligné en haut et la taille du bouton est réduite. La réduction permettra d’avoir bientôt 3 boutons. Configurez ces deux dernières propriétés :

Button1.VerticalAlign = Top
Button1.Width = 148

Ensuite, glissez le bouton pour qu’il s’aligne en haut du contrôle de formulaire.

Pour vous aider, regardez la copie d’écran ci-dessous.

Premier onglet dans Power Apps
Premier onglet dans Power Apps

Multiplier le bouton d’origine

Maintenant, sélectionnez votre bouton, copiez-le et collez-le à 2 reprises : vous obtenez 3 boutons.

Renommez les 2 nouveaux boutons : Button2 et Button3.

Alignez vos boutons en haut du formulaire.

Grâce à la propriété Text, remplacez le texte “Jouet” par “Montant” puis “Responsable”.

Button2.Text = "Montant"
Button3.Text = "Responsable"

Attribuer les contrôles

Chaque onglet doit afficher des cartes de données différentes, sinon ils ne servent à rien.

Dans la vraie vie, il y aurait probablement 12 à 15 champs à répartir sur les onglets. Dans ce scénario, il y a seulement 3 champs. Toutefois, il est facile de décliner ce qu’il y a faire avec plus de champs.

Votre objectif est que le Titre apparaisse sur tous les onglets, la carte MontantHT ne doit apparaître que sur l’onglet “Montant”, tandis que la carte Responsable ne doit apparaître que sur l’onglet “Responsable”.

Cliquez sur la carte Responsable, puis définissez sa propriété visible :

Responsable_DataCard1.Visible = varOngletTitre = "Responsable"

Ne soyez pas surpris de voir le contrôle disparaître. Comme l’application n’a pas été exécutée, la variable varOngletTitre n’a pas encore de valeur. Donc varOngletTitre = “Responsable” est faux. Du coup Responsable_DataCard1.Visible = false.

Ensuite, cliquez sur la carte MontantHT, puis définissez sa propriété visible:

MontantHT_DataCard1.Visible = varOngletTitre = "Montant"

Pour la carte Titre, c’est encore plus simple : il suffit de ne pas définir la propriété OnVisible pour que la carte s’affiche sur tous les onglets. Il n’y a donc rien à faire.

Configurer l’écran

Lors de l’ouverture du formulaire, vous souhaitez que l’utilisateur arrive par défaut sur l’onglet Jouet.

Pour ce faire, configurez la propriété avancée OnVisible de l’écran :

FormScreen1.OnVisible = varOngletTitre = "Jouet"

C’est fini 😉

Tester le nouveau formulaire

Vous allez vérifier l’efficacité de vos modifications. Pour cela, cliquez sur le lien dans le coin supérieur gauche, qui s’intitule Revenir à SharePoint : une boite de dialogue s’ouvre.

Dans cette boîte de dialogue, cliquez sur le bouton Publier sur SharePoint.

Patientez quelques instants : la liste SharePoint va s’ouvrir.

Il est possible que le résultat ne soit pas immédiat suite à la manipulation ci-dessous. Dans ce cas patientez une bonne minute. Si le résultat n’est toujours pas visible : modifiez à nouveau le formulaire PowerApps puis publiez le à nouveau.

Dans cette liste, cliquez sur un élément quelconque pour l’ouvrir : il s’affiche bien dans le nouveau formulaire Power Apps.

Cliquez sur l’onglet Responsable et remarquez la présence des champs Titre et Responsable, uniquement.

Cliquez sur l’onglet Montant et remarquez la présence des champs Titre et MontantHT, uniquement.

Pour vous aider, regardez la copie d’écran ci-dessous.

Affichage d'un onglet
Affichage d’un onglet

Dans SharePoint, fermez le volet de l’élément affiché.

L’exercice est terminé.

Résumé

Dans cet exercice, vous avez appris comment créer des formulaires dans un formulaire Power Apps.

Maintenant, vous pouvez appliquer cette technique sur des formulaires ou sur les applications Power Apps que vous développerez dans l’avenir.

Pour aller encore plus loin, vous avez un excellent article (en anglais et en deux parties) de Mme Audrie Gordon sur Microsoft Docs. Il montre une utilisation encore plus poussée des onglets dans une application Power Apps :

Partie 1 : Handling Tab Control Scenarios in PowerApps for Full Screen Formats : https://coudr.com/powtab01

Partie 2 : Tabbed User Interface – Mobile Version : https://coudr.com/powtab02

Article mis à jour le 13.03.2020

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *