Vous pouvez aider vos utilisateurs à remplir des formulaires basés sur votre modèle de formulaire en utilisant des formules pour calculer la valeur d’un contrôle, en fonction des données que l’utilisateur entre dans d’autres contrôles. Les calculs peuvent inclure l’ajout, la soustraction, la multiplication et la division de valeurs. Par exemple, si vous concevez un modèle de formulaire que les entrepreneurs en électricité utiliseront pour demander des permis, vous pouvez ajouter une formule à un contrôle qui calcule automatiquement le prix total que l’entrepreneur doit payer pour la demande en multipliant le nombre de permis dans la demande par le prix de chaque permis.
Dans cet article
- Qu’est-ce qu’une formule ?
- Utilisation de deux opérateurs ou plus dans une formule
- Insérer une formule mathématique dans un contrôle
Qu’est-ce qu’une formule ?
Une formule est une expression XPath composée de valeurs, de champs ou de groupes, de fonctions et d’opérateurs utilisés pour calculer et afficher d’autres valeurs. Les formules peuvent être utilisées pour effectuer les tâches suivantes :
- Calculez les valeurs mathématiques à partir des valeurs que vous spécifiez lors de la conception du modèle de formulaire ou des valeurs que les utilisateurs entrent dans les contrôles lorsqu’ils remplissent des formulaires basés sur votre modèle de formulaire.
- Afficher des dates et des heures spécifiques.
- Afficher les valeurs que les utilisateurs entrent dans un contrôle dans un autre contrôle.
- Définissez la valeur par défaut d’un champ ou d’un contrôle.
- Exécutez une règle basée sur une valeur calculée à l’aide d’une formule.
Chaque expression XPath utilisée dans une formule est une combinaison de valeurs, de fonctions et d’opérateurs qui prend la valeur d’une valeur unique. Une formule peut contenir plusieurs expressions. Vous pouvez considérer une formule comme une phrase composée d’une ou de plusieurs expressions, chaque expression représentant une expression dans la formule.
L’illustration suivante montre la relation entre une formule et une expression.
Une fonction est une expression qui retourne une valeur basée sur les résultats d’un calcul. Les valeurs utilisées dans les fonctions sont appelées arguments. Vous pouvez utiliser les fonctions XPath 1.0 standard incluses dans InfoPath, ainsi que certaines fonctions spécifiques à InfoPath. Vous trouverez des liens vers plus d’informations sur les fonctions InfoPath dans la section Voir aussi .
Haut de la page
Utilisation de deux opérateurs ou plus dans une formule
Lorsqu’une formule contient au moins deux opérateurs mathématiques, InfoPath effectue le calcul en fonction de la priorité de l’opérateur. La liste suivante indique l’ordre dans lequel les opérations sont effectuées :
- Calculs entre parenthèses
- Calculs de multiplication et de division
- Calculs d’addition et de soustraction
Si la formule contient deux opérateurs qui ont la même priorité, les calculs sont effectués de gauche à droite.
Par exemple, imaginez que vous créez un modèle de formulaire de demande de permis avec une zone de texte qui affiche le coût total de tous les permis soumis dans une demande. Les valeurs requises par cette formule proviennent d’autres zones de texte du formulaire. La zone de texte qui affiche le coût total contient la formule suivante :
txtPermit1Qty * txtPermitCost1 + txtPermit2Qty * txtPermitCost2 /txtNumberOfPermits
Cette formule inclut les opérateurs d’addition (+), de multiplication (*) et de division (/). En fonction de la priorité des opérateurs, les calculs de multiplication et de division sont effectués avant le calcul d’addition. Étant donné que les opérateurs de multiplication et de division ont la même priorité, le calcul de multiplication est effectué avant l’opérateur de division, car l’opérateur de multiplication est situé à gauche de l’opérateur de division. La formule est calculée de la façon suivante :
- La valeur dans txtPermit1Qty est multipliée par la valeur dans txtPermitCost1.
- La valeur dans txtPermit2Qty est multipliée par la valeur dans txtPermitCost2, et ce résultat est ensuite divisé par la valeur dans txtNumberOfPermits.
- Le résultat du calcul à l’étape 1 est ajouté aux résultats du calcul à l’étape 2.
Pour contrôler l’ordre de calcul, placez le calcul que vous souhaitez effectuer en premier entre parenthèses. Les calculs entre parenthèses sont effectués avant les calculs en dehors des parenthèses. Placez les calculs entre parenthèses à gauche des calculs sans parenthèses. Les calculs entre parenthèses imbriquées sont effectués à partir des parenthèses internes vers les parenthèses externes.
Par exemple, considérez la formule suivante :
((txtPermit1Qty * txtPermitCost1) + (txtPermit2Qty * txtPermitCost2))/txtNumberOfPermits
Dans ce calcul, la valeur résultant de la multiplication des valeurs dans txtPermit1Qty et txtPermitCost1 est ajoutée à la valeur résultant de la multiplication des valeurs dans txtPermit2Qty et txtPermitCost2. La somme de ce calcul est ensuite divisée par la valeur dans txtNumberOfPermits.
Haut de la page
Insérer une formule mathématique dans un contrôle
Double-cliquez sur le contrôle ou le champ pour lequel vous souhaitez créer la formule.
Cliquez sur l’onglet Données.
Cliquez sur Insérer la formule
.Pour insérer une valeur ou un opérateur mathématique dans la formule, tapez la valeur ou le symbole de l’opération mathématique dans la zone Formule .
Liste des opérations mathématiquesOpération Symbole Ajouter + Soustraire - Multiplier * Diviser / Remarque
Si votre formule utilise l’opérateur de division (/), assurez-vous qu’il existe un espace avant et après l’opérateur de division. Si l’opérateur de division n’a pas d’espace avant et après celui-ci, InfoPath peut interpréter « / » comme un séparateur pour les étapes d’emplacement XPath plutôt que comme un opérateur de division.
Conseil
Les formules mathématiques dépendent généralement de valeurs entières ou décimales comme arguments. Pour éviter les valeurs vides dans votre formule, sélectionnez la zone Traiter les valeurs vides comme zéro case activée dans la catégorie Avancé de la boîte de dialogue Options de formulaire.
Pour case activée la formule de la syntaxe correcte, dans la boîte de dialogue Insérer une formule, cliquez sur Vérifier la formule.
Ma formule contient des erreurs
Cliquez sur Afficher les détails dans la boîte de dialogue Microsoft Office InfoPath pour afficher les erreurs dans la formule. Voici quelques suggestions pour résoudre ces erreurs :- Si vous utilisez une fonction dans votre formule, vérifiez que vous utilisez les arguments corrects pour la fonction. Certaines fonctions nécessitent des champs ou des groupes, tandis que d’autres fonctions nécessitent des valeurs spécifiées en tant qu’arguments. Vous trouverez des liens vers des informations supplémentaires sur les fonctions dans la section Voir aussi .
- Supprimez et retapez votre formule pour vous assurer qu’elle est correctement tapée.
Pour tester vos modifications, cliquez sur Aperçu dans la barre d’outils Standard, ou appuyez sur Ctrl+Maj+B.
Haut de la page