Donnez vie à vos documents numériques !
 

Calcul javascript avec conditions et résultat minimum. – RÉSOLU

abracadabraPDF Forums PDF – Général Calcul javascript avec conditions et résultat minimum. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44665
    yaoting
    Membre

    Bonjour,

    J’ai parcouru de long en large le forum et celui-ci m’a l’air super intéressant pour la suite. Bref, si je suis là c’est aussi parceque j’ai un blocage au niveau de l’écriture d’un script personnalisé javascript pour une formule de calcul. Voilà le topo :

    Je bosse dans une association, les bénévoles qui interviennent pour nous sont remboursés de leurs déplacements en fonction du nombre de kilomètres aller/retour depuis leur domicile et suivant la barème en vigueur soit 0,396€ / km. Le montant minimum de ces remboursements est de 33€.
    J’ai donc fait une feuille de frais avec Adobe Acrobat Pro XI, où le bénévole rempli un champs de formulaire pour indiquer le nombre de kilomètres aller. Celui-ci se multiplie tout seul par 2 et ce résultat se multiplie également par 0,396 comme il se doit. Et c’est là que je coince..

    Mon but serait que le résultat final (après la multiplication par 0,396), le montant minimum qui s’affiche soit de 33€ si le résultat réel est est inférieur et que le montant soit celui réel s’il est supérieur à 33€. Je suis clair ?

    J’ai donc trouvé ce sujet http://abracadabrapdf.net/forum/index.php/topic,1754.0.html qui finalement se prêtait très bien à mon cas, j’ai transposé les formules comme je pensais; mais ça ne fonctionne pas, le montant final ne calcule plus rien du tout. Voici ce que donne mon code :

    Code:
    var a = this.getField(“totalkilometres1”).value;
    var b = this.getField(“indemniteforfaitaire”).value;

    if (a*b {event.value = 33;}
    else
    {event.value = a*b;}

    J’ai beau réfléchir, je n’arrive pas à trouver la source de mon erreur, ce pourquoi je me permet de me tourner vers vos avis d’experts. Je précise que je “touche” le javascript que depuis quelques heures.

    Merci par avance et à bientôt.

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

    Bonjour et bienvenue,

    Essayes plutôt ça :

    Code:
    var a = this.getField(“totalkilometres1”).value;
    var b = this.getField(“indemniteforfaitaire”).value;
    var c = a*b;
    if (c else {event.value = c;}

    :Smiley01:

    #55832
    yaoting
    Membre

    Wow, merci pour cette réponse bien rapide !

    Je n’avais pas pensé à la troisième variable comme ça, c’est vrai que ça limite les erreurs possibles. J’ai donc copié le code, mais ça ne marche pas, à vrai dire rien ne s’affiche du tout..

    Je joint donc du coup le fichier concerné, ça sera plus simple je pense :) (autant il ne s’agit que d’une erreur de paramétrage des cellules? pourtant bien vérifié)

    [attachment deleted by admin]

    #55833
    adrith
    Participant

    Bonjour,
    Dommage tu y étais presque :)
    En effet dans ton code tu appelles la cellule “totalkilometres1” or la cellule se nomme “totalkilometres 1” (avec un espace).
    Retire l’espace et tu verras que ça fonctionne nickel.
    :Smiley01:

    #55834
    Merlin
    Maître des clés

    Forcément… Quand on ne maitrise pas le copier-coller…
    :jerisjaune: :geek: :jerisjaune:

    #55835
    yaoting
    Membre

    Effectivement, LA grosse boulette de ma part, je me sent trop c** du coup ! Donc désolé pour cette  fausse alerte et surtout grand merci pour votre intervention !
    (J’ai pourtant regardé 50 fois dans le code, mais jamais dans les cellules… ça m’apprendra :) )

    #55836
    Merlin
    Maître des clés

    C’est en forgeant que l’on devient forgeron !
    :Smiley01:

    #55837
    adrith
    Participant

    Effectivement, LA grosse boulette de ma part, je me sent trop c** du coup ! Donc désolé pour cette  fausse alerte et surtout grand merci pour votre intervention !
    (J’ai pourtant regardé 50 fois dans le code, mais jamais dans les cellules… ça m’apprendra :) )

    Pense à regarder dans le debuggeur aussi  :Smiley03:

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