Donnez vie à vos documents numériques !
 

Script de calcul personnalisé avec choix multiple

abracadabraPDF Forums PDF – Général Script de calcul personnalisé avec choix multiple

  • Créateur
    Sujet
  • #70017
    Yojo
    Participant

    Bonjour à tous , je vous demande votre aide car je suis bloqué sur mon formulaire que je réalise avec Acrobat Pro.

    Je vous explique, j’aimerais réaliser un script de calcul avec choix multiple, ci-joint capture d’écran de mon formulaire PDF.

    Quand j’inscris un nombre en “texte3” et que je coche la case “A” j’aimerais qu’une soustraction de 0.40 soit réalisée et que le résultat soit mis en “texte6”.

    Et qu’une addition de 0.40 soit réalisé plus la moitié du nombre en “texte1” , et que le résultat soit mis en “texte7”.

    Et si je coche la case “B” qu’une soustraction de 1.50 soit réalisée et que le résultat soit mis en “texte6”.

    Et qu’une addition de 1.50 soit réalisée, plus la moitié du chiffre dans  “texte1”, et que le résultat soit mis en “texte7”.

    Merci par avance pour vos futures solutions.

    Attachments:
    You must be logged in to view attached files.
Affichage de 12 réponses de 1 à 12 (sur un total de 12)
  • Auteur
    Réponses
  • #70019
    Merlin
    Maître des clés

    Bonjour

     

    Peux tu partager ton document ou un exemple ?

    Ce sera plus facile que d’expliquer et tu comprendras aussi bien.

    #70020
    Yojo
    Participant

    Bonjour merlin, merci pour ton aide  voici un exemple image ci-joint ,

     

    Attachments:
    You must be logged in to view attached files.
    #70022
    Merlin
    Maître des clés

    Peux tu partager ton document ou un exemple en PDF ?

    Je veux bien te montrer comment faire les calculs dans un document existant mais je n’ai pas le temps de créer un formulaire et des champs juste pour ça.

     

    #70023
    Yojo
    Participant

    Bonjour Merlin , voila ci-joint le fichier pdf.

    Désolé je n’avais pas compris qu’il te fallait le fichier pdf

    Merci encore pour ton aide

    #70024
    Merlin
    Maître des clés

    “CRMP1-.pdf: File exceeds allowed file size.”

    Fais un “Enregistrer sous” de ton fichier.

    S’il est encore trop gros pour passer en pièce jointe de ce forum tu peux utiliser une des nombreuses méthodes indiquées ici :

    Envoyer/partager/poster une pièce jointe volumineuse

    #70025
    Yojo
    Participant
    #70028
    Merlin
    Maître des clés

    Ce script de calcul est dans “texte3” mais il pourrait être dans n’importe quel autre champ, le document est là :

    https://documentcloud.adobe.com/link/track?uri=urn:aaid:scds:US:e47d558a-eb52-449a-ab0f-893cb7b7dee4

     

    oSaisie1 = this.getField("texte3");
    oSaisie2 = this.getField("Classe de précision");
    oResult1 = this.getField("texte4");
    oResult2 = this.getField("texte5");

    // si les deux champs sont remplis
    if (oSaisie2.value != "Off" && oSaisie1.value != oSaisie1.defaultValue) {
    // soustraction des valeurs
    var nResult1 = oSaisie1.value - oSaisie2.value;
    // si résultat = zéro
    if (nResult1 == 0) {nResult1 = "";}
    // affectation du résultat
    oResult1.value = nResult1;

    // calcul des valeurs
    var nResult2 = (oSaisie1.value /2) + oSaisie2.value;
    // si résultat = zéro
    if (nResult2 == 0) {nResult2 = "";}
    // affectation du résultat
    oResult2.value = nResult2;

    }
    // sinon
    else {
    oResult1.value = oResult1.defaultValue;
    oResult2.value = oResult2.defaultValue;
    }

    #70030
    Yojo
    Participant

    Merci Merlin , je viens de récupérer le fichier pour faire des tests.

    J’ai juste un petit problème, au niveau de la donnée calculé en texte 5.

    J’aimerais que le résultat soit “texte3” + 0.40 + la moitié de “texte1” si je coche classe de précision A

    Et si je coche la classe B “texte3”  + 1.50 + la moitié de “texte1”

    Par contre le résultat en “texte4” est nickel merci.

    Pourrais tu me renseigné pour réalisé cela.

    Vraiment merci pour ton aide.

    #70037
    Merlin
    Maître des clés

    Je m’en doutais car ça me paraissait plus logique mais je m’en suis tenu aux instructions.

    Script modifié (en orange) :

     

    oSaisie1 = this.getField(“texte3”);
    oSaisie2 = this.getField(“Classe de précision”);
    oResult1 = this.getField(“texte4”);
    oResult2 = this.getField(“texte5”);

    // si les deux champs sont remplis
    if (oSaisie2.value != “Off” && oSaisie1.value != oSaisie1.defaultValue) {
    // soustraction des valeurs
    var nResult1 = oSaisie1.value – oSaisie2.value;
    // si résultat = zéro
    if (nResult1 == 0) {nResult1 = “”;}
    // affectation du résultat
    oResult1.value = nResult1;

    // calcul des valeurs
    var nResult2 = oSaisie1 + (oSaisie1.value /2) + oSaisie2.value;
    // si résultat = zéro
    if (nResult2 == 0) {nResult2 = “”;}
    // affectation du résultat
    oResult2.value = nResult2;

    }
    // sinon
    else {
    oResult1.value = oResult1.defaultValue;
    oResult2.value = oResult2.defaultValue;
    }

    #70038
    Yojo
    Participant

    Bonsoir Merlin, merci pour se nouveau script.

    j’ai bien changer :

    // calcul des valeurs
    var nResult2 = oSaisie1 + (oSaisie1.value /2) + oSaisie2.value;
    // si résultat = zéro
    if (nResult2 == 0) {nResult2 = «  »;}
    // affectation du résultat
    oResult2.value = nResult2;

    mais cela me met une erreur justement dans le résultat en “texte5”

    je te fais parvenir le lien du pdf ci-dessous

    https://drive.google.com/file/d/1an-C33xr5VJ9OKmeKLNn-oMHNNioBb6D/view?usp=sharing

    Vraiment désolé de te déranger encore

    Encore merci.

     

    #70039
    Yojo
    Participant

    Merlin c’est bon j’ai réussi, merci pour ton aide cela marche super bien.

     

    #70041
    Merlin
    Maître des clés

    Le script modifié ci-dessus n’est pas au format “Code” pour qu’on puisse voir ce qui est en orange, mais du coup les guillemets droits qu’on utilise en JavaScript ont été transformé en guillemets à chevron avec une espace à l’intérieur.

     

Affichage de 12 réponses de 1 à 12 (sur un total de 12)
  • Vous devez être connecté pour répondre à ce sujet.