Donnez vie à vos documents numériques !
 

Calcul via une checkbox cochée ou non

abracadabraPDF Forums PDF – Général Calcul via une checkbox cochée ou non

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46480
    Ekinor
    Membre

    Hello,

    Me revoilà pour une nouvelle question… Mouhahah.
    Plus sérieusement je suis maintenant bloqué avec un calcul qui doit se faire en fonction de checkboxs cochées ou non. Je m’explique.
    J’ai dans mon fichier (lien du fichier plus bas) une zone de saisie nommée “Mod ATM” (première case à côté de l’encadré rouge “MAGIQUE”). Cette case doit être incrémentée de 1 en fonction de chaque checkbox se trouvant en dessous de l’encadré “MAGIQUE”.
    Exemple:
    Si 1 des checkboxs (“ATM niv3” à “ATM niv9”) est cochée la case “Mod ATM” doit s’incrémenter de 1.
    Si 2 des checkboxs (“ATM niv3” à “ATM niv9”) sont cochées la case “Mod ATM” doit s’incrémenter de 2.
    Si 3, “Mod ATM” de 3.
    etc.

    Je veux aussi pouvoir faire cela avec les checkboxs des deux encadrés du dessus qui comportent déjà des calculs dedans.
    Merci d’avance du temps que vous passerez sur mon problème.
    Salutations
    Ekinor

    Lien du document pdf:
    https://framadrop.org/lufi/r/j_caxxZ5qe#ZidusbI52oH5DeOn7Znl1Sft7l5yUM4v3vvHp08aBOA=

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

    bonjour,
    En script de calcul du champ “Mod ATM” :

    Code:
    var plus=0;
    for (var i=3; i    if (this.getField(“ATM niv”+i).value!=”Off”) plus++;
    }
    if (plus>0) event.target.value=”+”+plus;
    else event.target.value=plus;

    la valeur “plus” doit être ajoutée à un éventuel calcul !
    @+
    :bonjour:

    #68472
    Merlin
    Maître des clés

    Ou sinon juste en utilisant la fonction “Additionner”, après avoir assigné une valeur d’exportation de “1” aux cases à cocher concernées (voir PDF et capture joints).
    :Smiley03:


    PS : puisqu’il est question de Cthulhu et que nous sommes entre initiés je t’offre ce livre :
    https://www.abracadabrapdf.net/pdf-de-demo/e-books/dans-labime-du-temps/

    #68473
    Ekinor
    Membre

    PS : puisqu’il est question de Cthulhu et que nous sommes entre initiés je t’offre ce livre :

    Je tien a te remercier pour cet ouvrage je vais le lire avec avidité.
    Je regarde ce que j’arrive à faire avec votre aide dans mon fichier et reviendrais avec une nouvelle question ou des résultats probants.
    En tout cas Merci beaucoup à tous.

    #68474
    Ekinor
    Membre

    Alors voilà.
    Premièrement grâce à votre aide tout est ok. Quand je ne coche aucune checkbox “Mod ATM” est à zéro. et quand je coche une ou plusieurs des checkbox il prend la valeur voulue.
    Mais là je me creuse la tête sur un problème qui est apparu depuis cette après-midi.
    Quand je coche mes case “ATM niv3” à “ATM niv9” tout est Ok. Mais si je coche une checkbox des modificateur de “Distance” ou “Contact” c’est la que tout part en cacahuète. Cela me modifie le comportement de ma case “Mod ATM” alors que cela ne devrait pas. :Smiley07:

    Afin de comprendre je vous invite à passer la valeur “INT” à 12 puis à check la checkbox sous “Magique” puis de check une sous “Distance”.
    Pourtant les Checkbox de “Distance” et “Contact” on bien des nom différent. elles ne devraient pas être prises en compte.
    Je sais que j’abuse de votre bonté mais pourriez vous encore une fois m’aider?

    Merci mille fois.

    Liens du nouveau document:https://framadrop.org/lufi/r/68YY1ZvFWB#UdzHHkA6Axpn6Kcx2Q+1bRcoLxeXnOqenB6nv4EPbxU=

    #68475
    Merlin
    Maître des clés

    Si tu avais utilisé la méthode que j’ai conseillé ci-dessus tu n’aurais pas ces problèmes.

    Pour moi ça fonctionne bien, il y a juste le signe + qui disparait quand on coche Contact ou Distance.
    À mon avis la source du problème vient du fait que l’affichage du signe +/- est géré par les scripts de calcul, ce qui n’est pas une bonne idée.

    Ma solution serait de supprimer toute cette gestion dans les scripts de calcul et d’utiliser un simple script de format personnalisé dans les champs concernés :
    if (event.value > 0) {event.value = “+ “ + event.value;}
    else if (event.value ) {event.value = “- “ + event.value;}
    else if (event.value) == 0) {event.value = “”;}  // facultatif, supprime l’affichage du zéro

    L’avantage du script de format personnalisé c’est qu’il ne modifie que l’affichage de la valeur, sans modifier la valeur elle-même.
    Ainsi, si c’est une valeur de type Chiffre on peut la réutiliser directement dans d’autres calculs, sans devoir gérer le caractère +/-  qui du coup n’est que “virtuel”.

    #68476
    Ekinor
    Membre

    MEEEEERRRRCCCCIIIII!!!

    C’est top tout marche comme sur des roulettes.
    en finalité, je me perdait dans une boucle infinie avec la formule des checkbox de niveau lorsque je l’insérait dans mes calcul.

    Code:
    var plus=0;
    for (var i=3; i    if (this.getField(“ATM niv”+i).value!=”Off”) plus++;
    }
    if (plus>0) event.target.value=”+”+plus;
    else event.target.value=plus;

    Franchement merci pour vos aides précieuses.

    A bientôt pour de nouvelles questions …..  :Smiley03:

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