Donnez vie à vos documents numériques !
 

Script couleur de fond d’un champ en fonction de son contenu

abracadabraPDF Forums PDF – Général Script couleur de fond d’un champ en fonction de son contenu

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45886
    caucaubreizh
    Membre

    Bonsoir,
    Je suis béotien, j’ai fouillé le site et d’autres sans trouver de réponse…Ni la même question (si c’est le cas, veuillez m’en excuser)
    Je souhaite pouvoir simplement mettre une couleur de fond et/ou la couleur du texte , chaque fois qu’une valeur apparaît dans un champ texte .Par exemple dans le document que je vous joins, chaque fois que “Di” apparaît dans une cellule, je voudrais la voir en rouge…
    Est-il possible également de changer le fond de la colonne entière quand la valeur apparait dans un champ ?
    Merci pour vos conseils

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

    Bonjour et bienvenue.

    Le script se trouve dans les champs en tête de colonnes, c’est le même script partout.
    Pour que ça fonctionne il est important de respecter la Convention de dénomination des champs de formulaire : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/
    :Smiley15:

    #64270
    caucaubreizh
    Membre

    Bonjour, merci pour la réponse. J’ai téléchargé le tableau dans lequel vous avez inscrit le nouveau script dans l’onglet “action ” du champ de texte.
    Mais alors, le script que j’avais laborieusement inscrit pour que le combo-box au dessus me permette de sélectionner le premier jour du mois, ne fonctionne plus….

    Je m’explique : je ne suis pas parvenu à vous passer le document en entier ; cette partie est basée sur le 1er jour du mois qui enchaîne l’inscription dans les autres champs par le jour de la semaine correpondant à la date; et je souhaite reproduire sur les 30 ou 31 jours en fonction du mois et marquer la couleur de la valeur Di dans toute les colonnes où la valeur apparaît.Le javascript du combo box doit donc être prioritaire si je ne me trompe ?Mais je ne vois pas comment faire…
    Merci

    #64271
    Merlin
    Maître des clés

    Je ne le trouve pas dans ton document, mais a priori dans ce script il faut juste actualiser les noms des champs pour que tout rentre dans l’ordre. :idee:

    Note bien que les champs peuvent avoir n’importe quel nom, la seule condition c’est que dans une colonne tous les champs portent le même nom + un point + un numéro.
    :Smiley03:

    #64272
    caucaubreizh
    Membre

    Ce script figure bien dans “Tous les scripts”…Peut-être ne l’ai-je pas mis au bon endroit ?

    //
    //Combo Box1:Keystroke
    //
    /*********** appartient à : AcroForm:Combo Box1:Keystroke ***********/

    if (event.willCommit)
    {
    var deptdata={
      Lun:{Jour1:”Lu”,Jour2:”Ma”,Jour3:”Me”,Jour4:”Je”,Jour5:”Ve”,Jour6:”Sa”,Jour7:”Di”},
        Mar:{Jour1:”Ma”,Jour2:”Me”,Jour3:”Je”,Jour4:”Ve”,Jour5:”Sa”,Jour6:”Di”,Jour7:”Lu”},                                                                                 
        Mer:{Jour1:”Me”,Jour2:”Je”,Jour3:”Ve”,Jour4:”Sa”,Jour5:”Di”,Jour6:”Lu”,Jour7:”Ma”},                                           
        Jeu:{Jour1:”Je”,Jour2:”Ve”,Jour3:”Sa”,Jour4:”Di”,Jour5:”Lu”,Jour6:”Ma”,Jour7:”Me”},
    Ven:{Jour1:”Ve”,Jour2:”Sa”,Jour3:”Di”,Jour4:”Lu”,Jour5:”Ma”,Jour6:”Me”,Jour7:”Je”},
    Sam:{Jour1:”Sa”,Jour2:”Di”,Jour3:”Lu”,Jour4:”Ma”,Jour5:”Me”,Jour6:”Je”,Jour7:”Ve”},     
    Dim:{Jour1:”Di”,Jour2:”Lu”,Jour3:”Ma”,Jour4:”Me”,Jour5:”Je”,Jour6:”Ve”,Jour7:”Sa”},                                                                       
                                                                                                                                                         
    };
    if (event.value == ” “)
    {
    this.resetform([“Jour1″,”Jour2″,”Jour3″,”Jour4″,”Jour5″,”Jour6″,”Jour7”]);
    }
    else
    {
    cdepname=event.value;
    this.getField(“Jour1”).value=deptdata[cdepname].Jour1;
    this.getField(“Jour2”).value=deptdata[cdepname].Jour2;
    this.getField(“Jour3”).value=deptdata[cdepname].Jour3;
    this.getField(“Jour4”).value=deptdata[cdepname].Jour4;
    this.getField(“Jour5”).value=deptdata[cdepname].Jour5;
        this.getField(“Jour6”).value=deptdata[cdepname].Jour6;
        this.getField(“Jour7”).value=deptdata[cdepname].Jour7;
        }
    }

    Ce script ne fonctionne plus, il figure bien

    #64273
    Merlin
    Maître des clés

    Je n’ai pas le temps de tester mais a priori il suffit d’adapter la dernière partie du script :

    this.getField(“Jour1.0“).value=deptdata[cdepname].Jour1;
    this.getField(“Jour2
    .0“).value=deptdata[cdepname].Jour2;
    this.getField(“Jour3
    .0“).value=deptdata[cdepname].Jour3;
    this.getField(“Jour4
    .0“).value=deptdata[cdepname].Jour4;
    this.getField(“Jour5
    .0“).value=deptdata[cdepname].Jour5;
    this.getField(“Jour6
    .0“).value=deptdata[cdepname].Jour6;
    this.getField(“Jour7
    .0“).value=deptdata[cdepname].Jour7;

    #64274
    caucaubreizh
    Membre

    Merci pour ta patience Merlin !
    Cette fois-ci mon script fonctionne à nouveau, mais quelle que soit la valeur du 1er champ, celui-ci et sa colonne gardent la coloration désignée par ton script…je viens de passer 2 heures à tenter des modifs, sans succès.

    #64275
    Merlin
    Maître des clés

    C’est parce-que mon script est en action “souris relevée”, essaye de le placer en “script de calcul”.
    Voir : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/lordre-dexecution-des-evenements-dans-les-champs-de-formulaire-pdf/

    #64276
    caucaubreizh
    Membre

    Géniaaaaaaal !!!!!!!! Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii  !!!!!! :-)

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