Donnez vie à vos documents numériques !
 

Masquer les zéros si aucun nombre. – RÉSOLU

abracadabraPDF Forums PDF – Général Masquer les zéros si aucun nombre. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44343
    KALO
    Membre

    Re-bonsoir,

    J’enchaine aussitôt avec une nouvelle question et je vous joins un fichier avec une colonne 1 au format “Nombre”,

    Ma question, est-il possible de masquer le dernier champ qui additionne le total de la première colonne lorsque aucun nombre n’est saisi dans cette colonne ?

    Merci d’avance

    Cordialement

    [attachment deleted by admin]

Affichage de 10 réponses de 1 à 10 (sur un total de 10)
  • Auteur
    Réponses
  • #54048
    maxwyss
    Membre

    Si 0 n’est pas une valeur “legale” (ou valide), il est simple de masquer: Dans l’èvènement Format, additonner le code JavaScript suivant:

    if (event.value == 0) {event.value = “”}

    et ça va afficher un champ vide.

    Si le champ devrait être formatté quand la valeur est valide, le code se modifierait comme suit:

    if (event.value == 0) {
    event.value = “” ;
    } aelse {
    event.value = util.printf(“%.2f”, event.value) ;
    }

    La syntaxe du string de formattae est decrite dans la documentation Acrobat JavaScript, qui fait partie du Acrobat SDK, téléchargeable du site Adobe.

    HTH

    Max Wyss.

    #54049
    Merlin
    Maître des clés

    La méthode de Max est OK, sauf si le champ en question est à la base d’un autre calcul.
    Auquel cas on a plutôt intérêt à jouer sur la couleur (blanche) pour masquer le zéro.
    Une petite recherche sur ce forum devrait donner de bons résultats car on en a déjà parlé.
    :Smiley15:

    #54050
    maxwyss
    Membre

    En fait, la methode proposée fonctionne, parce que l’événement Format ne change pas la valeur du champ; ça ne change que comment la valeur est affichée.

    Max Wyss.

    #54051
    Merlin
    Maître des clés

    Et c’est seulement maintenant que j’apprend ça ?
    :oh:  :Smiley03:

    Merci Max, ça c’est de l’info !
    :bravo: :extra:

    #54052
    KALO
    Membre

    maxwyss, Merlin,

    merci encore à vous 2,

    @Merlin, j’aurais du y penser avant, pour la recherche sur le forum, effectivement j’ai retrouvé votre solution dans un autre poste…et il est vrai que c’est une demande plutôt fréquente et classique,

    J’ai donc utilisé votre code ci-dessous et ça marche :

    if (event.value != “0”)
    {
    event.target.textColor = color.black;
    event.value = event.value;
    }
    else
    {
    event.target.textColor = color.white;

    @maxwyss, merci également pour votre solution, je vais la tester pour voir si j’y arrive,

    Cordialement

    #54053
    KALO
    Membre

    Re-bonsoir,

    La méthode à maxwyss semble trés bien fonctionner également dans mon exemple avec le code ci-dessous,

    if (event.value == 0) {event.value = “”}

    j’ai rajouté 2 autres champs en dessous dont le dernier faisant référence au champ Somme_Col1,

    ci-joint le fichier exemple,

    Cordialement

    [attachment deleted by admin]

    #54054
    Merlin
    Maître des clés

    :bonjour:

    #54055
    KALO
    Membre

    Bonsoir Merlin, maxwyss, le forum,

    J’aurais une modification à apporter dans ce fichier,

    Vos formules pour masquer les valeurs à zéro fonctionnent bien mais j’ai un ptit souci dans le cas présent lorsque mon Total – Avances = 0 alors je souhaiterai afficher les zéros dans mon champ Solde…!!.

    Si le Total et l’avance sont égal à zéro alors je masque les zéros de mon Solde,

    Une autre petite question svp, dans le cas où j’insère un bouton de réinitialisation pour supprimer les champs du formulaire, est-il conseillé ou déconseillé d’indiquer des champs contenant des calculs dans une réinitialisation comme par exemple le champ Total ou Solde,

    Peut-t-il avoir des ptits bugs à un moment donné dans le document PDF….???

    Comme ces champs Total et Solde font un calcul sur d’autres champs, ils seront automatiquement à zéro après réinitialisation…!!

    Merci d’avance

    Cordialement

    [attachment deleted by admin]

    #54056
    Merlin
    Maître des clés

    Réinitialisation : oui, tous les champs doivent l’être.

    Pour le champ “avance” il suffit de modifier son script de validation ainsi :

    if (this.getField(“Somme_Col1”).value == “0”) {event.value = “”};

    :Smiley01:

    #54057
    KALO
    Membre

    Bonjour Merlin,

    Merci beaucoup pour votre réponse,

    Et quand je vois le code, ça se rapproche finalement un peu de la logique VBA,

    Merci encore

    Cordialement

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