Comment créer des formules conditionnelles dans Adobe Acrobat
Publié: 2022-01-29Il existe plusieurs façons de créer des calculs complexes dans un fichier PDF propre et élégant. Voici comment intégrer des formules conditionnelles dans votre prochain document.
Formules conditionnelles dans Acrobat
Nous avons déjà couvert les bases des calculs automatiques dans Adobe Acrobat. Les formules conditionnelles vous permettent d'aller au-delà des bases en créant des formules plus complexes dans un PDF.
CONNEXION: Comment créer des formulaires PDF avec des calculs dans Adobe Acrobat
Si vous utilisez des formules dans Excel ou Google Sheets, vous savez probablement déjà ce que sont les formules conditionnelles. Aussi appelées formules logiques, elles affichent une valeur particulière ou activent un calcul si une certaine condition est remplie, comme si un nombre est négatif ou si une note est supérieure à la note de passage. Certaines des formules conditionnelles les plus courantes dans Excel incluent le "IF" standard, ainsi que "SUMIF" et COUNTIF". Il existe également une mise en forme conditionnelle, dans laquelle des modifications de format sont apportées si une cellule remplit une certaine condition.
À l'aide de champs calculés, ces types de formules peuvent également être appliqués dans les fichiers Adobe PDF. Vous pouvez afficher un nombre, du texte ou exécuter un calcul basé sur les résultats d'une autre zone de saisie. Vous pouvez également les utiliser conjointement avec d'autres champs calculés. Les formules conditionnelles sont utiles pour de nombreux types de formulaires PDF, tels que :
- Documents financiers : par exemple, si le mandant détermine le taux d'intérêt d'une personne, une formule conditionnelle peut être utilisée pour afficher le prix correspondant en fonction du montant saisi.
- Tests et examens : vous pouvez effectuer une évaluation qui affiche automatiquement « réussite » ou « échec » à la fin en fonction du score total du candidat.
- Ventes : si vous l'utilisez pour les transactions, vous pouvez créer une boîte qui recommande des produits en fonction des réponses d'un acheteur potentiel à des questions spécifiques.
Notez que même si les champs calculés ne peuvent être créés que dans Adobe Acrobat, les calculs réels s'afficheront dans n'importe quel lecteur PDF.
Création d'instructions conditionnelles simples
Les champs calculés personnalisés d'Adobe Acrobat utilisent javascript comme langage de programmation. Heureusement, vous n'avez pas besoin de savoir programmer en javascript pour créer un champ conditionnel simple ; vous avez juste besoin d'un modèle de base à suivre.
Dans l'exemple suivant, nous utiliserons ce simple formulaire de commande d'entreprise. Celui-ci comporte actuellement sept champs : un pour les quantités de chacun des cinq produits, la quantité totale et le prix total.
Une instruction conditionnelle dans Adobe javascript suit cette syntaxe de base :
var variable name = this.getField(" name of field ").value;
if( variable name condition ) event.value = true result
else event.value = false result
La première ligne définit la valeur qui sera utilisée pour votre formule conditionnelle. Dans ce cas particulier, nous avons utilisé le "this.getField" pour obtenir la valeur d'un des autres champs du document. Sur la deuxième ligne, nous définissons la condition. Semblable à Excel, nous spécifions la condition comme étant supérieure, inférieure ou égale à une valeur particulière.
Enfin, nous définissons les résultats. Le vrai résultat est la valeur qui sera affichée si la condition est remplie. Sur la ligne suivante, nous utilisons "else" pour générer le faux résultat, qui est la valeur qui sera affichée si la condition n'est pas remplie.
Pour mettre cela en pratique, nous avons créé un champ calculé appelé "Bulk Order". Pour saisir un script calculé personnalisé, cliquez avec le bouton droit sur le champ choisi dans Acrobat et sélectionnez « Propriétés ». À partir de là, accédez à "Calculer> Script de calcul personnalisé> Modifier".
Ce champ déterminera si une commande est considérée comme groupée ou non. La case affichera « Oui » si la quantité totale est supérieure à 20 articles, et « Non » si elle est inférieure à 20. Compte tenu de ces conditions, nous avons la formule :
var TQ = this.getField(" Total Quantity" ).value;
if( TQ > 20 ) event.value = "Yes"
else event.value = "No"
Dans l'image ci-dessus, vous pouvez voir que nous avons défini le nom de la variable sur "TQ" et extrait la valeur de TQ du champ "Quantité totale". Notez que ces champs sont sensibles à la casse. Ensuite, nous définissons notre condition, qui est que TQ doit être supérieur à 20. S'il remplit cette condition, il affichera "Oui". Sinon, la boîte générera "Non".
Si nous avons commandé un total de 11 câbles Lightning et 10 batteries, par exemple, nous aurions un total de 21 articles. Il serait alors considéré comme une commande groupée et générerait le résultat suivant :
Conditions multiples
Dans certains cas, vous souhaiterez peut-être que plusieurs conditions soient remplies au lieu d'une seule. Heureusement, il existe un moyen de créer un champ conditionnel qui génère des valeurs basées sur plusieurs conditions.
Disons que dans votre magasin, toutes les commandes qui atteignent au moins 20 produits et ont un prix total de 150 sont éligibles à une remise de 10 %. Le montant final apparaîtrait dans un champ appelé « Total avec remise ». Dans ce cas, nous aurions à spécifier deux variables et deux conditions. On aurait le champ suivant :
var Price = this.getField(" Initial Price ").value;
var TQ = this.getField(" Total Quantity ").value;
if( Price > 150 && TQ > 20 ) event.value = Price*0.9 ;
else event.value = Price ;
Comme vous pouvez le voir, nous avons défini deux variables sur deux lignes distinctes. Vous devrez également utiliser la notation "&&" pour combiner les deux conditions différentes. Prenez note que la valeur finale est aussi un calcul qui tient compte de la remise.
Par conséquent, si nous utilisons le même total que dans l'exemple ci-dessus, nous générerons le résultat suivant :
Ordres de calcul
Une considération importante que vous devez prendre en compte est l'ordre de calcul. Contrairement à Excel, qui rend les calculs simultanément, Acrobat compte sur l'utilisateur pour déterminer quelles formules viennent en premier.
Pour définir l'ordre de calcul, accédez à la barre latérale "Modifier le formulaire" et accédez à Plus > Définir l'ordre de calcul des champs. Dans l'exemple ci-dessus, étant donné que les formules pour Commande groupée et Total avec remise dépendent toutes deux de la Quantité totale et du Prix total, nous voulons nous assurer que TQ et TP sont calculés en premier.
Assurez-vous de revoir l'ordre de calcul avant de publier votre formulaire. C'est une bonne idée d'essayer quelques exemples d'entrées sur votre formulaire pour vous assurer que tout fonctionne correctement.