Donnez vie à vos documents numériques !
 

Somme avec condition

abracadabraPDF Forums PDF – Général Somme avec condition

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45667
    dauof
    Membre

    Bonjour,
    j’ai un exemple de fichier PDF (voir le fichier joint) dans lequel je dois créer du code JavaScript qui me permettrait de faire des sommes avec des conditions, je suis débutant dans ce langage et je ne sais pas comment m’y prendre.
    Votre aide me sera très utile.

    merci par avance.

Affichage de 6 réponses de 1 à 6 (sur un total de 6)
  • Auteur
    Réponses
  • #62605
    Merlin
    Maître des clés

    Bonjour.

    “Faire des sommes avec des conditions” c’est assez court comme explication…
    Tout comme : “faire la somme des valeurs saisies des poids correspondants”…  :Euuuh:
    Par ailleurs il est question “d’activer des cases” mais elles sont en “Lecture seule”.  :mur:

    Est-ce qu’il faut juste comprendre que tu voudrais faire la somme des cases cochées pour chaque colonne ou bien est-ce plus compliqué que ça ?  :doute:

    #62606
    dauof
    Membre

    Bonjour Merlin,
    Effectivement les cases E, P et C (qui sont des zones de texte) s’activent en fonction des conditions A, B, C, D et E et elles sont en lecture seule (je ne souhaite pas qu’on puisse les modifier), la somme des poids se fait en fonction des condition A. B, C, D et E (comme c’est expliqué dans le fichier PDF) et des états E, P et C.

    As-tu une autre façon de faire?

    Merci par avance

    #62607
    Merlin
    Maître des clés

    Voilà le script pour le premier total (A), je te laisse l’adapter pour les autres totaux :

    Code:
    if (this.getField(“Check1E”).value == “X” && this.getField(“Dropdown01”).value == “A”) {
    var nCheck1E = this.getField(“Text1”).value;
    } else {
    var nCheck1E = 0;
    }
    //
    if (this.getField(“Check2E”).value == “X” && this.getField(“Dropdown02”).value == “A”) {
    var nCheck2E = this.getField(“Text2”).value;
    } else {
    var nCheck2E = 0;
    }
    //
    if (this.getField(“Check3E”).value == “X” && this.getField(“Dropdown03”).value == “A”) {
    var nCheck3E = this.getField(“Text3”).value;
    } else {
    var nCheck3E = 0;
    }
    //
    if (this.getField(“Check4E”).value == “X” && this.getField(“Dropdown04”).value == “A”) {
    var nCheck4E = this.getField(“Text4”).value;
    } else {
    var nCheck4E = 0;
    }
    //
    if (this.getField(“Check5E”).value == “X” && this.getField(“Dropdown05”).value == “A”) {
    var nCheck5E = this.getField(“Text5”).value;
    } else {
    var nCheck5E = 0;
    }
    //
    event.target.value = (nCheck1E + nCheck2E + nCheck3E + nCheck4E + nCheck5E) * 1;

    Pour le 2e total (B, C, D) il faut ajouter deux conditions OU aux lignes if :

    Code:
    if (this.getField(“Check1P”).value == “X” && this.getField(“Dropdown01”).value == “B” ||  this.getField(“Dropdown01”).value == “C” ||  this.getField(“Dropdown01”).value == “D”)

    Par ailleurs, le script des listes déroulantes devrait se trouver en script de validation plutôt qu’en script de format.
    :Smiley15:

    #62608
    dauof
    Membre

    Merci Merlin pour ton aide,

    par contre j’ai déplacé le script des listes déroulantes en script de validation,ça ne fonctionne pas. :oh:
    Merci de ton aide.

    #62609
    Merlin
    Maître des clés

    Dans ce cas laisse comme c’est tant que ça fonctionne, sinon il faudrait modifier les scripts.  :joker:

    #62610
    dauof
    Membre

    Merci Merlin :bravo: :bravo: :bravo: :bravo:

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