Donnez vie à vos documents numériques !
 

Liste déroulante

abracadabraPDF Forums PDF – Général Liste déroulante

  • Créateur
    Sujet
  • #73742
    ligan
    Participant

    Bonjour à tous,

    De bonnes fêtes et joyeux Noël !!!

    Vous m’avez déjà aidé sur un formulaire et avec vos conseils, j’ai pu écrire d’autres choses et je vous en remercie bien.

    Mais là je sèche, j’ai lu plusieurs posts notamment “Liste déroulante fille ne s’enregistre pas” ou un autre sur les listes déroulantes et csv.

    Mais ça ne me parait pas adapté ou je me demande si on ne peut pas faire plus simple ?

    Je vous ai mis le PDF en pièce jointe et voici ce que je veux faire:

    Je voudrais lorsque je sélectionne “exemple de coefficient g” , que cela entre la valeur “g estimé” sur les 18 lignes, mais aussi que l’on puisse modifier ces valeurs des lignes.

    Merci d’avance de l’aide que vous pourrez m’apporter.

    • Ce sujet a été modifié le il y a 4 mois et 1 semaine par ligan.
    Attachments:
    You must be logged in to view attached files.
Affichage de 9 réponses de 1 à 9 (sur un total de 9)
  • Auteur
    Réponses
  • #73745
    Merlin
    Maître des clés

    Bonjour et bonnes fêtes

     

    Il faut ajouter ce script en script de format personnalisé dans le menu Exemple de coefficient :

    for (var i=1; i < 19; i++) {
    this.getField("G" + i).value = event.value;
    }

    Tu devrais surveiller la Console JS, elle affiche à répétition que “f is null”, ce qui veut dire en clair qu’il y a un problème de calcul quelque part, a priori un champ manquant.

    Ce n’est pas grave en soi mais s’il y a d’autres calculs dépendants qui s’enchainent à partir d’une erreur ça pourrait l’être.

    Attachments:
    You must be logged in to view attached files.
    #73747
    ligan
    Participant

    bonjour merlin,

     

    merci du retour rapide,  ça fonctionne comme je voulais ,

    merci bien,

    le retour “f is null” , c’est parce que je n’avais pas mis tout le formulaire pour pouvoir passer sur le message.

    du coup j’ai scruter la console js et j’ai un retour d’autres erreurs que je vais regarder.

     

    merci encore et bon reveillon

     

    #73748
    ligan
    Participant

    rebonjour @merlin,

    j’ai une autre question, sur le fichier que j’avais mis en pièce jointe,

    je voudrais que lorsque la valeur dans les lignes de la colonne “puissance a dt modifie” est inférieur à “déperditions”,

    la ligne “puissance…” clignote ou le texte change de couleur

    j’ai regardé pour les commandes avec “if then” , blink ou style.color mais je ne sais pas trop si il faut le mettre dans le calcul ou le script de format spécialisé… et comment le mettre…

    merci d’avance pour les renseignements et bonne digestion 🙂

    #73749
    Merlin
    Maître des clés

    Il faut ajouter un champ, ou utiliser un champ existant, et lui placer ce script en Script de calcul. Je ne peux pas tester car ces champs sont eux-mêmes calculés mais ça devrait être OK :

    for (var i=1; i < 19; i++) {
    this.getField("DéperditionsRow" +i).textColor = color.black;
    this.getField("PDTMRow" +i).textColor = color.black;
    if (Number(this.getField("PDTMRow" +i).value) < Number(this.getField("DéperditionsRow" +i).value)) {
    this.getField("PDTMRow" +i).textColor = color.red;
    this.getField("DéperditionsRow" +i).textColor = color.red;
    }
    }

    Fait attention qu’il manque l’accent dans le nom des deux premiers champs “DéperditionsRow“, c’est à corriger avant d’exécuter le script.

    #73750
    ligan
    Participant

    bonjour merlin,

     

    merci du retour , quand je vois le script, ça m’étonnes pas que je trouvais pas avec mes if et then…

    du coup j’ai modifié la variable i qui interférais avec l’autre modification et ça marche niquel , je t’en remercie bien.

    j’ai avec la première modification de la colonne “g estimé”, une latence, je pense que le formulaire recalcule tout ,  j’ai regardé dans la console java , je n’ai pas d’erreur . Sais tu si il y a un paramètre a regardé ou c’est normal vu qu’il y a 18 ligne de calcul??

     

    merci encore

    • Cette réponse a été modifiée le il y a 4 mois par ligan.
    #73752
    Merlin
    Maître des clés

    La latence c’est parce-qu’il faut attendre que la champ actif soit désactivé pour que le calcul s’effectue.

    Pour éviter ça il faudrait placer un script (de validation) différent dans chacun des 2 x 18 champs concernés…

    #73753
    bebarth
    Maître des clés

    bonjour,
    Rien que sur cette feuille il y a 86 champs avec des calculs. Ce qui provoque la latence avant affichage des champs !
    Il faudrait connaitre la totalité des calculs pour voir ce qui est possible de faire, mais déjà as-tu besoin de remplir/calculer toutes les lignes ? Elles ne sont certainement pas toutes remplies à chaque fois !

    @+
    😎

    #73784
    ligan
    Participant

    bonjour messieurs,

     

    merci pour vos retours,

     

    sur le formulaire complet j’ai encore plus de calculs , j’ai fait des tests et on se fait a la latence , ça va rester comme cela pour l’instant.

    merci encore pour l’aide et meilleurs vœux , la santé surtout!!

    #73785
    Merlin
    Maître des clés

    Il y a deux façon de réduire le nombre de champs qui effectuent des calculs et donc le temps de latence :

    • Placer le script en script de Validation, ainsi seul le champ actif est calculé. Mais ce n’est pas toujours possible.
    • Placer tous les scripts de calcul dans un seul champ, éventuellement masqué, car un seul long script de calcul déclenché par un seul champ s’exécute beaucoup plus vite que plusieurs petits calculs déclenchés par plusieurs champs.
Affichage de 9 réponses de 1 à 9 (sur un total de 9)
  • Vous devez être connecté pour répondre à ce sujet.