Donnez vie à vos documents numériques !
 

alex

Toutes mes réponses sur les forums

Affichage de 99 réponses de 100 à 198 (sur un total de 564)
  • Auteur
    Réponses
  • en réponse à : Ajout de texte dans champ sur clic case à cocher #58707
    alex
    Participant

    Bonjour,
    Deux colonnes fonctionnent.
    Compléter les autres cases à cocher pour les autre colonnes (deux lignes de script de validation à chaque fois) en s’inspirant des deux premières….

    en réponse à : Message apparait plus d’une fois #58685
    alex
    Participant

    Attention, je n’ai pas saisi le script de validation de tous les champs “SP” et “rawRP”, à compléter donc avec :
    controleSaisie();

    en réponse à : Message apparait plus d’une fois #58684
    alex
    Participant

    Dans votre script, n n’est pas défini.
    Sans votre maquette, je ne peux rien faire car je ne vois pas les déclencheurs.

    Aussi, je vous propose la mienne qui fonctionne avec deux scripts:
    1-chaque saisie validée active le script unique baptisé controleSaisie() qui vérifie la validité de la saisie des 34 champs de votre formulaire.
    2-Un script de contrôle baptisé controle() lié au calcul du champ “SSS” vérifie la cohérence des saisies “SP” et “rawRP”, calcule et renseigne les champs de résultats “RP”,”SRS” et “SDS”. Il faudra ajouter les calculs des champs manquants au sein de ce même script.
    Le bouton “Reset” est à vocation pédagogique. Il réinitialise le formulaire pour faire des tests.
    Pour la compréhension, les champs non saisis ont une bordure rouge par défaut, à corriger si besoin.
    Pour la compréhension, les champsRP valides apparaissent au fur et à mesure des saisies, à corriger si besoin.

    Il reste sans doute un peu de travail, mais l’essentiel est là. Inspirez vous du script initialisation() pour vos boutons radio “SPNormal” et “RPNormal”.

    en réponse à : Où trouve-t-on les Pays et les Villes #58634
    alex
    Participant

    J’ai fait le test. Il n’est pas possible de modifier des pièces jointes sous Adobe Reader (la méthode setDataObjectContents n’est même pas fonctionnelle en contexte privilégié)
    En conclusion: possibilité d’ajout d’items de menus déroulants uniquement sous Acrobat !
    Désolé.

    en réponse à : Où trouve-t-on les Pays et les Villes #58633
    alex
    Participant

    Bonjour,
    Oui, je suis comme les robots de Google, je passe ici de manière aléatoire…
    La maquette illustrant une manière de créer des menus déroulants en cascade ici sur trois niveaux n’est pas prévue pour être modifiée par l’utilisateur. Les données sont chargées à l’ouverture du document par le script d’initialisation.
    Je suis désolé pour vous mais il faudrait pas mal travailler pour ajouter cette fonctionnalité car il faudrait recourir à un fichier .csv ou .xls associé en pièce jointe au document, utiliser les méthodes getDataObjectContents et setDataObjectContents et bien manipuler les chaînes ce caractères et les encodages. Enfin, il faut s’assurer que ça fonctionne bien sous Adobe Reader pour la partie écriture (setDataObjectContents) en faisant un test avant de s’embarquer pour l’aventure….

    en réponse à : Préférence d’item dans une liste déroulante #58526
    alex
    Participant

    Bonjour,
    Ajoutez à votre code la ligne suivante si vous souhaitez que la liste déroulante se positionne sur le premier item à l’ouverture de votre formulaire:
    ff.currentValueIndices =[0];
    Où 0 précise le rang de l’item choisi dans la liste.

    en réponse à : Message apparait plus d’une fois #58682
    alex
    Participant

    Quelques pistes pour commencer…
    Ci-dessous exemple pour le premier script des champs rawSp:
    function controlerawSP()
    {
    console.clear();
    saisie=this.event.value;
    champsaisierw=this.event.target;
    nomchamprw=this.event.target.name;
    nomchampRP=”RP”+nomchamprw.substring(5,nomchamprw.length)
    console.println(“Saisie de la valeur “+saisie+” sur “+nomchamprw+” associe a “+nomchampRP);
    //Validite de la saisie
    if(saisie!=””)
    {
    if((saisie>=0&saisie<=4)||saisie==9)
    {
    //Valid
    this.getField(nomchampRP).required = false;
    }
    else
    {
    app.alert(“ERROR: Please input a value between 0 and 4, or 9 if Unevaluable”,1);
    event.rc = false;
    }
    }
    else
    {
    champsaisierw.required = true;
    this.getField(nomchampRP).required = true;
    }
    }

    Ci-dessous correction du script pour le calcul de SSS:
    console.println(“Calcul SSS”)
    var total = 0; 
    for (var i=1; i<=17; i++)
    {
    var v =this.getField(“SP”+i).value; 
    if (v!=9) {total+v; }

    event.value = total; 

    if(event.value <=0) event.value = "";

    en réponse à : Message apparait plus d’une fois #58681
    alex
    Participant

    Bonjour,
    Il faut savoir que tous les scripts de calcul (en particulier des champs rawRP et RP) sont exécutés quelque soit la saisie effectuée.

    Je vous conseille de revoir globalement ce document et suivre le conseil de Merlin avec:
    une unique fonction liée à la validation de chaque saisie SP baptisée controleSP() pour s’assurer de sa validité (chiffre de 0 à 4 ou 9) .
    une unique fonction liée à la validation de chaque saisie rawSP baptisée fonctionrawSP()
    pour s’assurer de sa validité (chiffre de 0 à 4 ou 9) .
    une unique fonction dédiée au contrôle liée à la validation des saisies rawRP controle() assurant la comparaison de la valeur rawRP à la valeur SP correspondante.
    une unique fonction de calcul pour chacun des champ RP

    Par ailleurs les calculs des champ SRS et SRSraw me semblent erronés mais je peux me tromper.

    en réponse à : Aide pour écriture JavaScript #58603
    alex
    Participant

    Il n’y a pas de frais sur la seule partie verte de la première page (stotal1), voici le formulaire à vérifier.
    Le script est embarqué par le seul champ “frais”. Ce script gère l’affichage des frais forfaitaires et le calcul du total general.

    A vérifier donc.

    [Fichier joint supprimé par l’administrateur le 24-06-2015]
    Je viens de recevoir une requête de la RATP me demandant de supprimer le fichier joint.
    C’était un bon de commande obsolète qui apparaissait en bonne place dans les résultats de Google, et que donc des internautes utilisaient…

    en réponse à : Envoyer par courriel une seule page d’un PDF #58591
    alex
    Participant

    Si le but de  cet envoi est de récupérer des données saisies dans les deux premières pages du formulaire pourquoi ne pas envoyer ces données sous forme de fichier fdf ?

    Dans ce cas on aura recours à un bouton dont l’action sera: “Envoyer un formulaire” en prenant soin de libeller l’adresse d’envoi comme suit :

    mailto:adresse email
    et de choisir les champs dont le contenu doit être envoyé.
    Voir copie d’écran.

    Lors de l’utilisation, sous Adobe Acrobat mais aussi sous Adobe Reader, on a le choix du type de messagerie (local ou distant), le mail est généré automatiquement, reste à l’envoyer.

    en réponse à : Aide pour écriture JavaScript #58601
    alex
    Participant

    Bonjour,
    Voici une maquette avec les éléments d’entrée (saisies des valeurs a, b, c) et le résultat du calcul.
    Le script de document réalise les tests et le calcul lors de toute saisie des valeurs a, b ou c.
    Je corrigerai dès que j’aurai compris la demande.

    script:

    a=this.getField(“ChampA”).value;
    b=this.getField(“ChampB”).value;
    c=this.getField(“ChampC”).value;
    if(a==0|c==0)
    {
    this.event.value=a+b+c;
    }
    else
    {
    this.event.value=a+b+c+30;
    }
    Dans l’attente….
    A+

    en réponse à : Numérotation automatique. – RÉPONDU #56217
    alex
    Participant

    Bonjour,
    Oui, il faut procéder comme indiqué par Merlin puis vérifier et corriger les paramètres d’initialisation si nécessaire:
    //donnees de base numérotation automatique
    //Nom du champ contenant le numero de formulaire
    fNum=”Num_Bordereau”;
    //Nom du bouton de numérotation.
    fNumAction=”Num”;
    //Nom du bouton de validation du formulaire.
    fNumValid=”Validation”;
    //
    enTete=”RSA”;

    Scripts requis:
    1-Ouverture document:
    initialisation()
    2-Bouton de validation:
    enregistrement()

    3-Enregisrement du document:
    Le dernier numéro est mémorisé par une variable locale lors de l’enregistrement du formulaire:
    global.dernNum=this.getField(fNum).value;global.setPersistent(“dernNum”,true);

    en réponse à : Interdire la saisie d’une date antérieure #58463
    alex
    Participant

    J’ai bien dit:
    Attention, cette solution fonctionne pour le format “JJ/MM/AAAA”.
    J’aurais du écrire:
    Attention, cette solution ne fonctionne que pour le format “JJ/MM/AAAA”.
    Mais on pourrait aussi effacer les saisies de format inappropriées.

    en réponse à : Interdire la saisie d’une date antérieure #58461
    alex
    Participant

    Bonsoir,
    Voir la maquette jointe pour une solution basique certes, mais qui pourra facilement s’adapter à des sélections de dates par menus déroulants (Jour,mois;année).
    Attention, cette solution fonctionne pour le format “JJ/MM/AAAA”.

    en réponse à : Remplissage de champs de texte via une liste déroulante #58166
    alex
    Participant

    Désolé, je n’ai pas trop de temps mais voici une maquette assez moche pour illustrer une manière de faire.
    Si j’ai bien compris, il ne s’agit pas de menus déroulants en cascade même si certaines parties de scripts peuvent nous inspirer ici.

    Le script init() de document prépare une table de données et remplit le menu déroulant “Selecteur”.
    A la sélection d’un item du menu déroulant on va rechercher les données dans la table pour renseigner les champs du formulaire.Cette action est réalisée par le script de format > script de touches personnalisé.

    Bonne soirée

    en réponse à : Champs obligatoires avant enregistrement #58143
    alex
    Participant

    Voici une maquette illustrant la proposition de Merlin.
    A l’enregistrement, une alerte apparaît listant les saisies obligatoires manquantes.
    Attention, la couleur de bordure des champs de saisie obligatoire est gérée par le script.

    Bonne soirée.
    Alex

    alex
    Participant

    Ci-joint une ébauche de solution…
    L’administrateur peut réinitialiser la page de formulaire courante en activant un bouton transparent situé au dessus de la colonne des prix, le code est ici “1234”. Les champs de saisie des prix redeviennent alors tous saisissables (readonly=false) avec un encadrement transparent (facultatif, c’est pour la démo).
    L’utilisateur peut modifier les prix. Lors de la validation une alerte lui demande s’il souhaite l’inscrire en dur. Si la réponse est positive, le champ passe en non saisissable (readonly=true) et est encadré de vert (facultatif, c’est pour la démo).
    Pour le bon fonctionnement sous Adobe Reader il faut activer les Reader Extensions avant mise à disposition du formulaire.
    Fichier>Enregistrer sous un autre…>Fichier PDF Reader Extended>Activer d’autres outils (notamment ….)

    Nota 1: le nom des champs de prix sont de la forme “BBp.x” où p est le numéro,de la page du catalogue et
    x l’indice du prix. Le rang x=0 est réservé au titres des colonnes de prix. On peut donc ajouter autant de pages que nécessaire.

    Nota 2:On peut évidemment ajouter un bouton de reset global (boucle sur l’ensemble des pages de tarif).

    en réponse à : Formule rapide pour addition de champs #57933
    alex
    Participant

    Salut Merlin,
    Je connais bien cette manière de faire qui conduit certes à un script de calcul très court mais qui restreint la liberté de choisir les noms des données, en particulier lorsqu’on doit les envoyer vers un serveur ou les récupérer en XML.
    Dans mon exemple, j’ai bien sûr une série de termes de la forme “Montant.x” mais aussi des champs aux noms légèrement différents (“MontantEmballage” ou “MontantTransport” par exemple) plus explicites.
    A chacun sa manière…
    Bonne soirée à tous.

    en réponse à : Javascript réinitialiser champs spécifiques avec un bouton #57930
    alex
    Participant

    Pour plusieurs champs, bouton 1:
    this.resetForm([“Champ1″,”Champ2″,”Champ3”]);
    Bouton 2:
    this.resetForm([“Champ5″,”Champ6”]);
    Ne pas oublier les crochets, la liste est un tableau.

    en réponse à : Formule rapide pour addition de champs #57931
    alex
    Participant

    Bonjour,
    Ci-joint une maquette pour illustrer la manière:
    Le champ “TotalMontants” embarque le script qui vous intéresse. Ce script fait la somme de tous les champs dont le nom commence par Montant.
    On peut créer autant de champs de calcul que l’on veut, il suffit de préciser l’en-tête du nom des champs à additionner (teteNom=”xxxx”;)
    Voici ce script avec quelques éditions pour la console (Ctrl J pour l’afficher).

    console.clear();
    teteNom=”Montant”;
    indexField=0;
    indexTerme=0;
    total=0;
    while(indexField {
    //Recupere le nom du champ.
    nameField=this.getNthFieldName(indexField);
    if(nameField.substring(0,teteNom.length)==teteNom)
    {
    indexTerme=indexTerme+1;
    console.println(indexTerme+”-“+nameField+”-valeur=”+this.getField(nameField).value)
    total=total+1*this.getField(nameField).value;
    }
    indexField=indexField+1;
    }
    console.println(“Total=”+total)
    this.event.value=total;

    en réponse à : Validation JavaScript et Contrôle sur Signature Manuscrite #57838
    alex
    Participant

    Bonjour à tous,
    Tant que la dernière saisie d’une donnée n’est pas validée par “Enter” ou “Tab”, la valeur ne peut être prise en compte par le script du bouton “Test”.
    Faites des essais avec la maquette jointe.

    en réponse à : Equivalent de A99A et AA99A en script #57817
    alex
    Participant

    Même chose avec le détail de l’analyse (ouvrir la console après validation Ctrl J ou Pomme-J)

    en réponse à : Equivalent de A99A et AA99A en script #57815
    alex
    Participant

    Bonsoir à tous,
    Voici ma solution si vous ne souhaitez pas accepter les majuscules accentuées. Je passe par les codes ASCII des digits pour reconstituer le format. L’intérêt de cette manière de faire, c’est qu’on peut l’adapter à des formats très divers.
    Les codes ASCII des chiffres vont de 48 à 57 et ceux des majuscules de 65 à 90
    Le script
    testF() de document à exécuter après validation quelque soit le champ de saisie est donc le suivant:

    function testF()
    {
    index=0;
    mot=this.event.value;
    format=””;
    console.println(“Analyse de la saisie du champ “+this.event.target.name)
      while(index  {
      digit=mot.charCodeAt(index); 
      if(digit>47&digit<58){format=format+"9";}
      if(digit>64&digit<91){format=format+"A";}
      index=index+1;
      }
    console.println(“Format de la saisie:”+format);
      if(format!=”AA99A”&&format!=”A99A”)
      {
      app.alert(this.event.target.name+”rSaisie incorrecterFormat attendu AA99A ou A99A.”,1);
      this.event.value=””;
      }
    }

    en réponse à : Ne pas afficher le petit "+" lorsque le champ est trop petit #57747
    alex
    Participant

    En ce qui concerne l’affichage de deux colonnes, je ne vois pas de solution, sauf à séparer le premier caractère du reste par un caractère genre tiret (Exemple: “M-Demande de…”). Dans ce cas le script est inchangé.
    A moins que je n’aie pas compris la question…
    A.

    en réponse à : Ne pas afficher le petit "+" lorsque le champ est trop petit #57746
    alex
    Participant

    Je vous conseille ça, c’est dédié au Web mais tout ce dont on a besoin en dehors de l’environnement pdf y est (fonction mathématiques, traitement des chaînes de caractères, tables, dates, etc…) :
    JavaScript: The Definitive Guide, 6th Edition
    Activate Your Web Pages
    By David Flanagan
    Publisher: O’Reilly Media

    Sinon on trouve tout sur le Web, il suffit de demander.
    Site conseillé: developpez.com

    Bonne journée à tous.

    alex
    Participant

    Bonjour,

    Voici le petit script qui gère la visualisation du champ “Bouton”  (à placer dans via l’onglet “Validation” du champ “Saisie”)
    Dans la maquette jointe les deux lignes supplémentaires du début permettent d’afficher le nom du champ à l’origine de l’action et la valeur saisie.  Faire Ctrl J pour afficher la console.

    //Test sur la valeur saisie après validation (champ numérique)
    if(this.event.value>0)
    {
    //Faire apparaître le bouton
    this.getField(“Bouton”).display=display.visible;
    }
    else
    {
    //Faire disparaître le bouton
    this.getField(“Bouton”).display=display.hidden;
    //Déplacer le curseur sur ce bouton (pas obligatoire)
    this.getField(“Bouton”).setFocus();
    }

    en réponse à : Ne pas afficher le petit "+" lorsque le champ est trop petit #57742
    alex
    Participant

    Bonjour à tous.
    Pour répondre à la question du “+”, je vous propose de ne retenir pour l’affichage que le premier caractère de l’item du menu déroulant comme indiqué ci-dessous.
    Par ailleurs, pour que la valeur s’affiche je vous propose de “forcer” le déplacement du curseur sur la saisie suivante de votre formulaire ce qui a pour effet de mettre à jour le champ “Text2”
    Voir document de démonstration joint.
    Script:
    var menu31 =
    app.popUpMenu(‘……….’);
    this.event.target.value = menu31.substring(0,1);
    this.getField(“Saisie suivante”).setFocus();

    alex
    Participant

    Bonjour,
    Deux remarques:

    Dans les scripts, il faut faire attention à la casse des noms de champ (“Val1” n’est pas “val1”).
    Les scripts de calcul sur évènement sont associés aux champs de résultat (ici les champs Val1, Val2, Val3, etc..)
    Ci-joint le formulaire avec quelques exemples sur ce sujet.
    Bon courage pour la suite.

    alex
    Participant

    Bonjour,
    J’ai vu ça :
    if(this.getField(“LicenceFFCT”).value == “checked”){(this.getField(“Montant1”).value = “checked”);(this.getField(“val1”).value = “checked”);}

    Je n’ai pas tous les éléments mais la syntaxe correcte du script de calcul du champ “Montant1” pourrait être:
    if(this.getField(“LicenceFFCT”).isBoxChecked(0))
    {this.event.value = this.getField(“val1”).value}

    Pour le second problème le
    script de calcul du champ “Montant2” pourrait être:
    if(this.getField(“Champ1”).value==0){this.event.value=0;}

    Avec le formulaire d’origine on pourrait sans doute faire beaucoup mieux…

    en réponse à : Acrobat – Renommer un fichier avec une date #57579
    alex
    Participant

    Parfait, mais avec cette manière de nommer le fichier, on ne peut pas en créer plus d’un différent par minute. Ce n’est peut-être pas gênant, tout dépend de l’usage qu’on en fait.
    Cette méthode de travail en contexte privilégié est à retenir pour étendre les possibilités d’Adobe Reader.

    en réponse à : Acrobat – Renommer un fichier avec une date #57577
    alex
    Participant

    Voici mon exemple:
    1-modifier l’extension du fichier EnregistrementDocument.txt en .js et le placer dans le répertoire JavaScript de l’application.
    2-Le document DocumentReference.pdf emarque un bouton qui appelle le script d’application après avoir construit le nom du fichier. Un champ visualise ce nom après enregistrement.

    Nota: on peut aussi ajouter un item de menu spécial à l’application (Acrobat ou Adobe Reader) pour lancer cette action.

    en réponse à : Acrobat – Renommer un fichier avec une date #57573
    alex
    Participant

    Bonjour à tous, bonjour Merlin,

    On contourner ça à l’aide d’un script d’application (plug in) placé dans le répertoire JavaScript d’Acrobat PRO sous forme fe fonction exécutable en contexte privilégié, il suffit alors de lui passer des paramètres (le nom d’enregistrement du fichier donc, incluant la date au format souhaité) à partir du document à enregistrer. On peut aussi le faire avec Adobe Reader.
    Je te rappelle Merlin que nous avons déjà utilisé cette méthode ensemble dans le cadre d’une de tes affaires!
    J’ai un petit exemple à vous proposer. Ce sera pour demain, le temps que je vous fasse ça.

    en réponse à : obligation d’une coche en fonction d’un choix #55660
    alex
    Participant

    Voici,
    Les boutons radio “OPEN” lancent le script cocheJumping() qui fait le travail.

    [attachment deleted by admin]

    alex
    Participant

    Bonjour à tous,
    Voici un exemple de base pour 2 niveaux.
    Les données de liste sont définies par le script Initialisation() qui s’exécute à chaque ouverture du formulaire et crée deux tables.
    La première liste (liste de mère) est renseignée par ce même script.
    La liste secondaire est renseignée chaque fois que l’on sollicite la liste mère par le script RemplissageFille(). Champ “ListeNiveau1″>Propriétés>Format>Script de touches personnalisé…

    [attachment deleted by admin]

    alex
    Participant

    Ci-joint deux exemples basiques, l’un avec bouton d’envoi, l’autre avec envoi lors de l’enregistrement.

    [attachment deleted by admin]

    alex
    Participant

    Il faut créer ce bouton ou associer ce script à l’enregistrement du document (Outils>Javascript>Définir les actions du document>Le document sera enregistré), je vous donne un exemple dans la journée.

    alex
    Participant

    Bonjour,
    Comme je l’ai dit plus haut, la sélection de l’imprimante ne fonctionne que sur Windows (c’est mentionné dans la doc, voir propriété printerName). Je suppose que tu es sur Mac ou Linux…
    Quant au découpage, il est imposé par l’outil print qui est mis à notre disposition !
    On peut envisager de générer automatiquement un fichier .pdf à imprimer, contenant uniquement les feuilles à imprimer mais nous devrons le faire sous Acrobat PRO ou Standard, pas avec Adobe Reader.

    alex
    Participant

    Le bouton de validation du formulaire peut lancer le script suivant à adapter à votre cas:
    Msg = “Corps de votre courriern”;
    Objet=”Objet du courrier”;
    CTO=”destinataire@abracadabra.net”;
    CCC=”destinataire2@abracadabra.net”;
    //méthode d’envoi
    app.mailMsg({
    bUI: true,
    cTo: CTO,
    cCC:CCC,
    cSubject: Objet,
    cMsg: Msg
    } );

    alex
    Participant

    Oui, c’est normal ! Les menus déroulants sont remis à jour à chaque ouverture puisque le script est conçu comme ça. Seules les données des champs associés (en jaune sur la maquette) sont invariantes et on notera que le premier de ces champs associé contient la valeur de l’item sélectionné dans le menu déroulant.
    Pour conserver la sélection du menu déroulant après enregistrement du formulaire, il faut revoir la maquette de la manière suivante:
    Lors de l’ouverture le script d’ouverture relit les tables sans toucher aux menus déroulants (voir script ouverture())
    Lors de la modification d’une pièce jointe, on doit mettre à jour les menus déroulants (ici grâce au bouton Mise à jour” qui lance le script initialisation().  On peut ensuite masquer ce bouton. Ci-joint maquette pour illustration.

    [attachment deleted by admin]

    alex
    Participant

    Ci-joint une maquette à ma façon pour illustrer une réponse à l’option 1 avec présélection de l’impression sur Pc uniquement.
    Sur Pc:
    Le sélecteur capte la liste des imprimantes disponibles à l’ouverture et on peut en sélectionner une avant d’imprimer en aveugle ou non.
    Sur Mac:
    La liste se remplit aussi mais on ne peut sélectionner l’imprimante que via le menu d’impression. On ne peut donc pas imprimer en aveugle.

    Je n’ai as cherché de solution via une impression .pdf une voie à explorer sur Mac donc.

    [attachment deleted by admin]

    alex
    Participant

    Bonjour à tous,
    Le formulaire est trop lourd, j’ai donc transféré les champs, les scripts et les pièces jointes sur ma maquette.
    Merci à Merlin d’avoir ajouté des commentaires dans mes scripts.
    Le but de ces outils est de renseigner des menus déroulants à partir de données embarquées dans des fichiers .csv que l’on trouve en pièces jointes. Dans notre exemple, les menus déroulants sont renseignés dès l’ouverture du document une fois pour toute, mais dans d’autres configurations, ils pourront être renseignés en fonction du contexte de saisie. Attention, toutefois, le temps de chargement n’est pas négligeable.
    La sélection d’un item de ces menus déroulants provoque l’affichage des données correspondantes issues des tables, ici pour l’exemple en fond jaune.
    Attention au format des données.

    Bon courage.

    [attachment deleted by admin]

    alex
    Participant

    Bonjour à tous,
    Le script xinitialisation()) qui renseigne les menus déroulants du formulaire une fois pour toutes,  doit se faire à l’ouverture du document.
    Il ne faut pas le relancer à chaque utilisation des menus déroulants pour lesquels seul le script de format personnalisé doit être conservé.

    alex
    Participant

    Oui, il me suffit d’avoir les 10 premières pages pour localiser le problème.

    alex
    Participant

    Bonjour,
    Si les boutons des pages suivant la page 1 sont des copies des boutons de la page 1, ce script ne fonctionnera pas. Il faut que les noms de champs soient différents, exemple: A.R1, B.R1, C.R1 etc…

    en réponse à : menu et tables #56359
    alex
    Participant

    Voilà, vous pouvez ajouter autant de lignes que nécessaire.
    Attention, la manière de procéder a changé !
    Deux scripts sont à l’oeuvre, tous deux déclenchés par l’action des menus déroulants (placement du résultat de la ligne dans la bonne colonne puis sommes des deux colonnes).
    On pourrait avoir d’autres colonnes en gardant les scripts de base légèrement modifiés.

    [attachment deleted by admin]

    en réponse à : menu et tables #56355
    alex
    Participant

    J’ai mis plus de temps à chercher ce qui devait être fait qu’à faire.
    Ici, nous avons certes des magiciens chevronnés, mais aussi un groupe restreint de voyantes extra-lucides dont je fais partie !

    en réponse à : menu et tables #56353
    alex
    Participant

    Voir si cette maquette se rapprocherait de ce qui est souhaité …
    Ici, un seul script est à l’oeuvre (travail()). L’action sur l’un des menus déroulants le lance.
    J’ai renommé les champs de manière à pouvoir ajouter des lignes si nécessaire (jusqu’à 10).

    [attachment deleted by admin]

    en réponse à : menu et tables #56348
    alex
    Participant

    Quelques remarques:
    1-L’action déclenchant les scripts associés aux menus déroulants doit se faire via l’onglet Format, puis Script de touche personnalisé.
    2-On doit récupérer les valeurs de ces champs par les évent.value ou évent.valueEx.
    3-Les scripts font référence à des champs qui n’existent pas.

    J’ai une vague idée du but à atteindre, apparemment n’y a pas de calculs à faire, juste faire apparaître les champs d’un tableau suivant les choix effectués via les menus déroulants. Quelques précisions seraient les bienvenues…

    “Ce qui se conçoit bien s’énonce clairement, et les mots pour le dire arrivent aisément.(Nicolas Boileau)”

    en réponse à : Champs liste de formulaire vide #56308
    alex
    Participant

    1-“Au démarrage, les listes sont vides mais ne fonctionnent toujours pas”
    Voilà qui me paraît tout à fait  normal puisqu’on ne lance plus le programme à l’ouverture du document (voir demande ci-dessus)!

    2-“si j’actualise, les listes fonctionnent mais gardes toujours une valeur par défaut”

    Là aussi, c’est le comportement normal des listes et menus déroulants , mais, mais, supposons….
    faisons l’hypothèse que tu souhaites avoir un item de liste vierge, dans ce cas le formulaire joint ajoute un item de liste en blanc qui deviendra l’item par défaut. La sélection de cet item par l’utilisateur réinitialisera les champs associés.

    [attachment deleted by admin]

    en réponse à : Exportation d’un formulaire PDF vers Excel #56329
    alex
    Participant

    En fait, on peut ! Mais disons que ça dépasse un peu le cadre de ce forum consacré au PDF:
    1-Créer un bouton d’envoi de données (celui proposé par Acrobat ou un script submitForm() ) vers un service Web (un programme pHp associé à une base de données mySQL par exemple)
    2-A partir de ces données, on utilisera une classe pHp capable de générer un fichier Excel formaté selon son besoin par extraction via requêtes SQL. On peut aussi gérer ces données directement sur une interface Web.
    Pour faire ça, il faut connaître le JavaScript Acrobat, le pHp, le SQL et avoir quelques notions sur la sécurité.
    Cela dit,on peut aussi s’intéresser à LiveCycle ES2

    en réponse à : Champs liste de formulaire vide #56306
    alex
    Participant

    Ci-joint le formulaire dans lequel j’ai supprimé la ligne xinitialisation() comme je le demandais.
    De ce fait, le remplissage des menus déroulants ne se fait que sur demande comme prévu.

    [attachment deleted by admin]

    en réponse à : Champs liste de formulaire vide #56304
    alex
    Participant

    Envoies ton formulaire…

    alex
    Participant

    Bonjour,
    Voici pour répondre à la seule première question. Les deux boutons activent le même script unique de document facile à comprendre et à modifier. J’ai créé les champs de texte gérés par le script d’origine et qui manquaient avec des textes en français et en anglais.
    A adapter à votre cas.

    [attachment deleted by admin]

    en réponse à : Champs liste de formulaire vide #56302
    alex
    Participant

    Sous Acrobat Pro
    Outils>
    Scripts JavaScript>Scripts JavaScript du document>
    Sélectionner xInitialisation>Modifier
    A la fin de la fonction :

    function xinitialisation()
    {
    ….
    }
    xinitialisation();

    Supprimer cette dernière ligne !

    en réponse à : Propriétés de de champs pour un Novice #56310
    alex
    Participant

    Bonjour et bienvenue,
    Voici un premier pas: créer un numéro de fiche à l’aide d’un bouton.
    Attention au format des données du champ “date”, ici, c’est le script qui le définit via la méthode util.prind(). Ce script est un script de document baptisé xInit() qui est lancé par l’action sur le bouton.

    [attachment deleted by admin]

    en réponse à : Champs liste de formulaire vide #56300
    alex
    Participant

    Tu as laissé la ligne
    xinitialisation();
    qui exécute le script à l’ouverture.

    en réponse à : Champs liste de formulaire vide #56298
    alex
    Participant

    Placer
    this.resetForm();
    à l’ouverture du document, rien de plus.
    Mais il ne sera pas possible d’enregistrer le formulaire complété pour le consulter ultérieurement.

    Pour garder les deux possibilités (conserver les données précédemment saisies ou non), créer un script de document comme suit:
    function init()
    {
    //Ce script sera exécuté à l’ouverture du document.
    rp=app.alert(“Effacer les saisies antu00E9rieures?”,2,2)
    if(rp==4)
    {
    //si oui, les saisies et contenus des menus déroulants sont effaces.
    this.resetForm();
    }
    }
    init();

    en réponse à : Champs liste de formulaire vide #56296
    alex
    Participant

    Pour n’utiliser que les boutons il faut supprimer la ligne:
    xintialisation();
    Ainsi, le préremplissage des menus déroulants ne se fera qu’à la demande et on pourra enregistrer le formulaire avec ses données sous Adobe Reader.

    en réponse à : Champs liste de formulaire vide #56294
    alex
    Participant

    En ajoutant la ligne suivante au tout début du script xinitialisation(), le formulaire sera vierge:
    this.resetForm();

    en réponse à : Champs liste de formulaire vide #56292
    alex
    Participant

    Et oui, il n’y a pas d’erreur !
    Ces deux boutons sont là pour les tests:
    “Reset” initialise le formulaire et en effet, les menus déroulants ne “fonctionnent plus” puisqu’ils sont vides.
    “Test” recharge ces menus déroulants !
    Tu peux donc les supprimer, le chargement se fait à l’ouverture du document.

    en réponse à : Champs liste de formulaire vide #56290
    alex
    Participant

    Bonsoir,
    Il faut bien activer les privilèges d’exécution du JavaScript (capture)
    Par ailleurs il ne faut pas autoriser les saisies dans les menus déroulant puisque ce sont les tables qui chargent les données. Ni activer le correcteur orthographique qui mange du temps pour rien (capture)
    Fais un test avec le formulaire joint et envoies ce que la console affiche (Ctrl-J)

    [attachment deleted by admin]

    en réponse à : Champs liste de formulaire vide #56288
    alex
    Participant

    Ooops,
    Effectivement, la correction n’était pas faite.

    [attachment deleted by admin]

    en réponse à : Champs liste de formulaire vide #56286
    alex
    Participant

    Dans le script xinitialisation(), tu fais référence à une table qui n’existe pas (data02_CAP).
    L’exécution du script s’arrête là.
    J’ai corrigé.

    [attachment deleted by admin]

    en réponse à : Champs liste de formulaire vide #56284
    alex
    Participant

    Bonjour,
    Pour effacer le contenu d’un menu déroulant ou d’une liste, placer ce script en ouverture de document:

    this.getField(“Nom du Champ”).clearItems();

    On peut aussi écrire un script qui efface tous les menus déroulants…
    indexField=0;
    while(indexField{
    fieldName=this.getNthFieldName(indexField);
    if(this.getField(fieldName).type==”combobox”)
    {
    this.getField(fieldName).clearItems();
    }
    indexField=indexField+1;
    }

    Pour les listes remplacer “combobox” par “listbox”

    en réponse à : Merci, tout simplement. – SYMPA ! #56250
    alex
    Participant

    George, merci à vous pour ce retour et n’hésitez pas à poser vos questions même si vous vous en tirez fort bien seul.
    Cordialement,
    Alex

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55949
    alex
    Participant

    La question est:
    Quelle relation, (quel lien logique) y-a t-il entre les items de la liste “02_CAP” et ceux des deux autres menus déroulants?
    Il faut me donner f !
    item”02_CAP” =f(item”02_Installation_de_destination”,item”03_Rubrique”)

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55947
    alex
    Participant

    Désolé mais,

    Pour la première question, les items du menu déroulant “02_CAP” devront être renseignés eux aussi dans un menu déroulant qui contiendrait les items selon les données choisies des autres listes.

    ne suffit pas pour écrire un script même avec une baguette magique!

    en réponse à : Envoyer les données dans un tableau structuré. – RÉPONDU #56201
    alex
    Participant

    Bonjour,
    Aujourd’hui, je cite notre ami Merlin:

    – Pour moi il y a une incompatibilité majeure entre le statut “stagiaire” et l’objectif donné…

    – Acrobat et PDF ne peuvent intervenir que pour la première partie (remplissage des formulaire et collecte des données), pour la suite ce n’est pas la peine d’y penser.

    Effectivement, l’objectif donné est “hors de portée” pour ce qu’on peut en juger et manque un cahier des charges précisant:
    1-le type de solution à mettre en oeuvre*.
    2-La nature et les liens entre les données d’entrée par défaut (les tables d’items et valeurs par défaut ).
    3-Les contraintes de saisies (formats, cohérences, saisies obligatoires,saisies automatiques, champs conditionnels,  etc…)
    4-collecte des données suivant choix *.

    *Ici, on doit dire si on va s’orienter s’orienter vers LiveCycle, un Web service ou une solution rustique de type acrobat.com .

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55945
    alex
    Participant

    Bonjour,
    Ci-joint le formulaire avec une correction (le nom du champ “02_CAP” au lieu du nom “02_CAP.csv”) qui ne résoud rien puisque qu’on ne connait toujours pas la logique qui régit la collecte des items de ce menu déroulant !Dans l’état actuel du script, ce champ est vide. Par ailleurs, pour faire des tests il aurait été bon d’avoir des jeux de données un peu plus consistants.
    Questions:
    1-Comment doit-on renseigner les items du menu déroulant “02_CAP” ? La réponse à cette question permettrait de compléter le script proposé le script ci-dessus du 14.
    2-Quelle version d’Adobe Reader utilisera t-on sur le Pc de saisie des données ?

    [attachment deleted by admin]

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55942
    alex
    Participant

    Bonjour,
    Tout d’abord donnes-nous quelques précisions.
    Quelle application (Acrobat ou Acrobat Reader) et quelle version ? Système d’exploitation  (Windows Xp ?) pour cette recopie de la console ?
    Ensuite, vérifies le réglage des préférences d’Adobes Reader et refais un essai. (voir copie d’écran jointe).
    A suivre.

    [attachment deleted by admin]

    alex
    Participant

    Bonsoir,
    Ne cherchez plus, sous Acrobat X, on trouve ça dans la commande d’enregistrement:
    Fichier > Enregistrer sous > Fichier PDF Reader Extended > Activer les fonctions supplémentaires.

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55940
    alex
    Participant

    Quand plus rien ne marche, c’est que le diagnostique est aisé (en général). Ouvrir la console avec un Ctrl-J (sur Pc) ou un cmd-J (sur Mac), mes scripts sont assez bavards, on devrait avoir une piste…
    Bon week-end à tous.

    en réponse à : Envoyer les données dans un tableau structuré. – RÉPONDU #56197
    alex
    Participant

    On a déjà abordé le sujet ici.
    Les outils d’Adobe (sur adobe.com ou non) génèrent des fichiers csv ou xml qui sont exploitables.
    Pour ma part je préfère toujours envoyer les données vers un serveur WEB interne par un this.submitForm( qui permet déjà de faire un choix dans les champs à prendre en compte), serveur où un petit programme pHp récupère ces données (les $_POST[fieldName]) et les envoie dans uns base mySQL. A partir de là, on fait presque ce qu’on veut pour présenter ces données via les requêtes SQL.
    On sort un peu du cadre d’un simple coup de pouce !

    en réponse à : Numérotation automatique. – RÉPONDU #56214
    alex
    Participant

    Voilà une variante de la solution qui fonctionne à l’ouverture du document. Je reviendrai sur ce sujet pour faire quelque chose de plus abouti (système de remise à zéro et bordereaux multiples).

    [attachment deleted by admin]

    alex
    Participant

    Voilà une maquette dans laquelle on ne gère pas les A,B,C etc.. Il faudrait aussi prévoir quelque chose pour remettre ale compteur à 0.
    A tester, ce que je n’ai pas trop fait…

    [attachment deleted by admin]

    alex
    Participant

    Bonjour,
    Nous avons déjà répondu à un problème très comparable (Voir le post “Numérotation automatique”) que je vous conseille de regarder.
    Mais n va se pencher sur votre cas en particulier car la numérotation est différente…
    Question: RSA devient RSB  puis RSC etc…. ?

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55936
    alex
    Participant

    Le menu déroulant “02_CAP” ne peut plus être renseigné à l’ouverture du document puisqu’il dépend de deux autres sélections. En conséquence, on ne doit pas voir apparaître le script configComBox() dans le script xinitialisation(). Par précaution, on vide le menu déroulant “02_CAP”.d’où, les lignes suivantes:

    nomFichier=”02_CAP.csv”;
    lectureCSV();
    data02_CAP=data;
    configComboBox();
    this.getField(“02_CAP.csv”).clearItems();

    Par contre, on doit créer deux scripts au niveau des menus déroulants « 02_Installation_de_destination » et « 03_Rubrique ». pour mettre à jour le menu “02_CAP.csv”,
    Onglet Format>Personnalisé>Script de touche personnalisé
    1-pour « 02_Installation_de_destination », un script de la forme:

    //Remplissage du menu déroulant
    if(!event.willCommit)
    {
    table=new Array() ;
    choix1=this.event.changeEx;
    choix2=this.getField(“03_Rubrique”).value;
    //définition de la table à partir des choix1 et choix2 (la table “dépend de”)
    //……………script à écrire………………….
    //
    f2=this.getField(“02_CAP”);
    f2.delay=true;
    f2.clearItems();
    j=0;
    while(j {
    f2.insertItemAt(table[j],j,j)
    j=j+1;
    }
    f2.currentValueIndices=0;
    f2.delay=false;
    }

    2-pour « 02_Installation_de_destination », un script de la forme:
    //Remplissage du menu déroulant
    if(!event.willCommit)
    {
    table=new Array() ;
    choix1=this.getField(“02_Installation_de_destination”).value;
    choix2=this.event.changeEx;
    //définition de la table à partir de choix1 et choix2. (la table “dépend de”)
    //……………script à écrire………………….
    //
    f2=this.getField(“02_CAP”);
    f2.delay=true;
    f2.clearItems();
    j=0;
    while(j {
    f2.insertItemAt(table[j],j,j)
    j=j+1;
    }
    f2.currentValueIndices=0;
    f2.delay=false;
    }

    Hélas, je ne peux pas définir les tables des items car je ne suis pas une voyante extra-lucide ni un enchanteur  !

    en réponse à : Numérotation automatique. – RÉPONDU #56213
    alex
    Participant

    Merci Merlin,
    Voici donc la méthode que j’utilise pour identifier les formulaires lorsqu’on me demande de numéroter les documents du jour. Ici les numéros sont de la forme aaaammjj-xx. Le compteur repart à 01 chaque jour. Trois scripts sont à l’oeuvre:
    initialisation()
    enregistrement()
    numerotation()
    Le dernier numéro est mémorisé par une variable locale lors de l’enregistrement du formulaire:

    global.dernNum=this.getField(fNum).value;
    global.setPersistent(“dernNum”,true);
    Attention, ce script devra être adapté pour fonctionner avec plusieurs formulaires utilisés simultanément. Je proposerai une variante pour ça.
    D’autres idées our fare ça ?

    [attachment deleted by admin]

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55932
    alex
    Participant

    Dans ton formulaire manque le script lié à l’enregistrement du document:
    Outils>Définir les actions du document>Le document sera enregistré…
    Pour le reste, je n’ai rien compris. le contenu d’un menu déroulant dépend du choix effectué sur un autre ???
    Merlin, on pourrait ouvrir un fil sur ce seul thème de la numérotation automatique, je vous proposerai une solution plus raffinée que vous pourrez tester.
    Bonsoir à tous et bon week-end.

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55927
    alex
    Participant

    Pour poursuivre le débat sur la numérotation automatique d’un document, voici une maquette où deux boutons assurent:
    1-la numérotation automatique.
    2-la fermeture du formulaire avec, en cas d’enregistrement, la mémorisation du dernier numéro.
    Pour raffiner, on pourrait rendre invisible le champ “Attribuer un numéro” et le champ “Valider le bordereau” visible après attribution du numéro.
    Attention de bien recopier les scripts de document.

    En ce qui concerne l’export des données, c’est l’objet d’un fil différend, je suis bien d’accord.

    [attachment deleted by admin]

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55923
    alex
    Participant

    Non, on ne doit pas simuler par un bouton puisque les évènements qui gèrent les scripts sont:
    1-l’ouverture du document pour le calcul du nouvel identifiant.
    2-la fermeture du document pour l’enregistrement de la variable locale.
    Ci-joint un document qui ouvre la console à l’issue de la numérotation, recopier le contenu pour que l’on puisse analyser l’erreur éventuelle.
    Pour tester:Ouvrir, enregistrer, réouvrir,enregistrer, etc…

    [attachment deleted by admin]

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55921
    alex
    Participant

    Pour illustrer la première proposition de Merlin voici un exemple qui exploite la variable globale mémorisée sur la plate-forme où l’on travaille. Il y a donc quelques contraintes d’exploitation à connaître.
    Attention: deux scripts sont à l’oeuvre! Le premier est activé par l’ouverture du document, l’autre par l’action d’enregistrement[ (Définir les actions du document>Le document sera enregistré./color]

    [attachment deleted by admin]

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55914
    alex
    Participant

    Bonjour à tous,
    Pour concaténer le contenu de deux champs dans un troisième, voir exemples joints.
    Pour incrémenter automatiquement un numéro de bordereau genre 20131105-01,20131105-02,20131105-03,20131105-04… c’est une autre affaire.

    [attachment deleted by admin]

    alex
    Participant

    Bonjour,

    C’est assez complexe, voyez mon exemple où le script de calcul est lancé par le bouton.

    [attachment deleted by admin]

    en réponse à : Condition de remplissage d’un champ. – RÉSOLU #56104
    alex
    Participant

    Bonjour,
    On peut bien sûr préciser les variables texte1 et texte2 à l’ouverture du document une fois pour toutes.

    //Script d’ouverture de page (page par défaut)
    texte1=”Mon texte dans le cas ou le champ contient une saisie”;
    texte2=”Mon texte dans le cas où le champ est vide”;
    //et bien d’autres paramètres à utiliser ultérieurement.

    Autre manière de faire (style Merlin, voir maquette jointe):
    //Script d’ouverture de document
    fonction Ouverture()
    {
    texte1=”Mon texte dans le cas ou le champ contient une saisie”;
    texte2=”Mon texte dans le cas où le champ est vide”;
    }
    Ouverture()

    [attachment deleted by admin]

    en réponse à : Condition de remplissage d’un champ. – RÉSOLU #56101
    alex
    Participant

    Bonjour,
    Voir maquette jointe, le script est embarqué par le champ de saisie du nom du chef de projet baptisé “ChefDeProjet”.
    Bonne journée à tous.

    //Script possible
    cible=”Nom_5″
    texte1=”Mon texte dans le cas ou le champ contient une saisie”;
    texte2=”Mon texte dans le cas où le champ est vide”;
    if(this.event.value==””)
    {
    this.getField(cible).value=texte2;
    }
    else
    {
    this.getField(cible).value=texte1;
    }

    [attachment deleted by admin]

    alex
    Participant

    Bonjour,

    Bienvenue sur le forum.

    Voici pour illustrer une solution aux deux premières questions :
    Gain> Chiffre d’affaire => Alerte (le champ gain est bordé de rouge) et valeur du gain forçée à 0.
    Gain>40% du CA => Alerte simple.

    Si on saisit de nouveau le CA, le gain passe à 0 et le champ est bordé de rouge pour inciter à une nouvelle saisie du gain.
    Onglet Validation>Exécuter le script de validation personnalisé

    Voir la pièce jointe.

    Alex

    [attachment deleted by admin]

    en réponse à : Menu déroulant. – RÉSOLU #56048
    alex
    Participant

    Tu remarqueras que l’interface d’Acrobat ne propose pas d’affecter un script à l’ouverture d’un document même s’il est possible de le faire manuellement. Etrange non ?
    Pour ma part j’utilise un artifice qui contraint l’exécution du script d’ouverture de page à la seule première ouverture via une propriété personnalisée ré-initialisée à la fermeture du document.

    en réponse à : Menu déroulant. – RÉSOLU #56046
    alex
    Participant

    C’est un script de document. Encore faut-il qu’un évènement quelconque le lance! L’ouverture de la première page par exemple.

    en réponse à : Menu déroulant. – RÉSOLU #56044
    alex
    Participant

    Pour que le script Initialisation() soit exécuté lors de l’ouverture du document, il fallait donc le préciser (clic droit sur la vignette de page>Propriétés de la page>Onglet Actions>Exécuter un JavaScript….).

    [attachment deleted by admin]

    en réponse à : Menu déroulant. – RÉSOLU #56041
    alex
    Participant

    Je ne lis pas dans le marc de café ! Pour que j’aies une chance de trouver l’erreur, il faut m’envoyer le document.
    Le script d’ouverture de page a sans doute été oublié….

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55899
    alex
    Participant

    Merlin,
    Ce n’est pas vrai dans mon exemple. Les en-têtes sont bien présentes dans le fichier de données BSD.csv mais je ne les utilise pas comme on le ferait avec du fdf ou du xml.
    Les champs du formulaire sont nommés Champ.1 à Champ.x dans l’ordre des colonnes, rien de plus.
    Cela dit, on pourrait les prendre en compte pour aider notre ami qui pourrait alors nommer ses champs de formulaire à l’identique des têtes de colonne.

    en réponse à : Menu déroulant. – RÉSOLU #56038
    alex
    Participant

    C’est assez trivial mais ça marche !

    en réponse à : Menu déroulant. – RÉSOLU #56036
    alex
    Participant

    Voici l’exemple attendu. Les données sont définies par le script d’ouverture de page Initialisation().
    Ici j’ai créé trois tables contenant les dates de début, dates de fin et les lieux. Il faut respecter l’ordre.
    Bon courage

    [attachment deleted by admin]

    en réponse à : Comptabiliser le nombre de caractère dans un PDF. – RÉPONDU #55963
    alex
    Participant

    Ci-joint variante à la version précédente. Bonne journée à tous.

    [attachment deleted by admin]

    en réponse à : Comptabiliser le nombre de caractère dans un PDF. – RÉPONDU #55962
    alex
    Participant

    Ci-joint un petit script à ma façon…
    Modifier l’extension du fichier en .js
    Placer ce script dans le dossier JavaScript de l’application Adobe Reader ou Acrobat.
    Relancer l’application et ouvrir le document. Das le menu “Fichier” d’Adobe Reader ou d’Acrobat apparaît un nouvel item “Outils AbracadabraPDF>Comptage caracteres”.
    Faites un petit essai et vérifiez que les résultats sont corrects.
    On peut sans doute améliorer…

    [attachment deleted by admin]

    en réponse à : Menu déroulant. – RÉSOLU #56034
    alex
    Participant

    Oui, il faut alors définir un tableau contenant ces données. Exemple demain, car je dois m’absenter.
    Bonne soirée.

    en réponse à : Récupération données BDD dans un formulaire PDF. – RÉSOLU #55894
    alex
    Participant

    Je vais voir ça mais pas ce soir , désolé. J’ai une idée.

    en réponse à : Menu déroulant. – RÉSOLU #56032
    alex
    Participant

    Voilà, tout se joue dans l’onglet Format de la liste déroulante (Script de touche personnalisé).

    [attachment deleted by admin]

Affichage de 99 réponses de 100 à 198 (sur un total de 564)