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.
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.

     

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