abracadabraPDF › Forums › PDF – Général › Listes déroulantes depuis fichiers CSV internes
- Ce sujet est vide.
- CréateurSujet
- 19 février 2018 à 14:08 #45806
Cln
ParticipantBonjour,
Je me suis basée sur le topic : https://abracadabrapdf.net/forum/index.php/topic,2228.0.html
pour avoir un formulaire contenant des listes déroulantes issues de fichiers internes au format CSV.J’ai essayé d’élaguer le fichier de base : Cerfa-BSD_Final10 (inclus dans le topic cité), mais j’ai beau faire, je n’arrive pas à tomber sur mes pattes.
Faut savoir que le javascript et moi….. :siffle:Bref, je joins mon essai, et y aurait-il une bonne âme pour me dire ce qui pêche ?
Merci d’avance.
- CréateurSujet
- AuteurRéponses
- 22 février 2018 à 11:40 #63435
Cln
ParticipantJe ne sais pas si ma demande initiale était bien claire, donc je reformule…
J’ai besoin d’un formulaire qui embarquerait plusieurs fichiers excel/CSV (pour leur côté modifiables facilement)
et sur lequel il y aurait des listes déroulantes, chacune liée avec un des fichiers excel/Csv embarqués.
À chaque choix fait sur une des listes, il y aurait entre 1 et 3 champs liés.
J’ai essayé avec l’exemple du Cerfa, mais à chaque fois que je touche au moteur, la liste n’est plus liée ou bien les éléments n’apparaissent plus dans le bon ordre, bref, j’ai besoin de votre aide si précieuse ! :Ooops:
Je remets ici un exemple avec 2 fichiers et deux listes déroulantes.
Merci d’avance !
22 février 2018 à 18:44 #63436
MerlinMaître des clésBonjour.
Pour bien comprendre le fonctionnement des listes d’Alex il faut faire une recherche dans ce forum sur les mots « liste mère fille« .
Il a tout expliqué mais c’est réparti dans plusieurs sujets.Par-contre, si travailler à partir de données CSV c’est juste pour la souplesse des mises à jour il y a aussi cette solution que j’ai découvert très récemment : https://is.gd/Nh82Eq
L’essentiel de la préparation (astucieuse) des données se fait dans Excel, et ensuite on injecte les données dans la liste déroulante.
Si cette solution t’intéresse je pourrais t’expliquer comment se passer de l’utilitaire indiqué dans ce tuto et comment injecter les données dans la liste via la Console JavaScript.24 février 2018 à 15:18 #63437Cln
ParticipantMerci de ta réponse Merlin,
Pour être honnête, je parcours souvent ce forum qui est une vraie mine d’or, mais comme le javascript est au-delà de mes possibilités intellectuelles, souvent je trouve un exemple tout fait que j’arrive, dans la plupart des cas, à réadapter à mes besoins.
Dans le fil que je cite, « Récupération données BDD dans un formulaire PDF » quasi tout en bas de la deuxième page, Alex donne un exemple « Cerfa BSD final 10 » où se passe les choses qui m’intéressent, mais vu que l’exemple en question contient bien plus que ma recherche, je n’arrive pas à y faire le ménage sans casser tout.
Je me suis focalisée sur les listes 10 et 11, j’essaye d’ôter le reste, sur le formulaire mais aussi dans les scripts, mais ça ne fonctionne pas.
J’ai regardé la vidéo, j’avoue pas jusqu’au bout, mais il y a trop de manip en amont sur le fichier CSV interne pour que ça m’intéresse.
Pour expliquer le but final, on imagine que des fichiers excel existants sont juste réenregistrés au format Csv, qu’ils sont placés comme pièces jointes dans le formulaire, les scripts remplissent une (des) listes déroulantes et il n’y a en plus du combo box qu’un autre champ qui récupère la valeur associée.
L’utile est que s’il y a changement sur la liste excel originale, on n’ait plus qu’à la retransformer en Csv et de l’échanger comme pièce jointe.
Le top du top serait d’avoir sur mon exemple « Base Ludo FORM » tout qui marche pour 2 fichiers/pièces jointes, et que je modifierai ensuite, en rajoutant d’autres listes par exemple, car si je ne connais rien au javascript, j’arrive en gros à le lire et à le modifier pour mes propres besoins, le tout étant d’avoir un exemple qui fonctionne….
Je sais, je demande beaucoup, :Ooops: mais ma gratitude est infinie !! :bravo:
24 février 2018 à 15:52 #63438
MerlinMaître des clésLa mine d’or à ciel ouvert est en accès libre et gratuit, mais tu comprendras bien que l’accès à l’autre mine, celle qui contient les grosses pépites, les diamants et qui me fait vivre, ne soit pas accessible dans les mêmes conditions.
D’autant que ce n’est pas quelque chose de facile à expliquer en quelques lignes sur un forum, il y a dedans des informations un peu disparates mais au final très complètes.
Cependant, je vais quand même aller contre mon intérêt financier immédiat en te faisant observer que dans ton cas il n’y a que 2 colonnes de données, et que c’est le cas le plus simple puisqu’une liste déroulante gère nativement une « valeur affichée » et une « valeur d’exportation ».
1- Il faut utiliser un script à l’ouverture du document pour remplir la liste déroulante avec le CSV.
2- Via un script de validation placé dans la liste déroulante, il faut pousser la « valeur d’exportation » dans le champ texte à chaque changement de sélection de la « valeur affichée » par l’utilisateur.
3- Et puis c’est tout.Vu comme ça, c’est certainement plus simple à mettre en œuvre.
:Smiley15:25 février 2018 à 10:35 #63439Cln
ParticipantOk, je comprends….
Je vais essayer !25 février 2018 à 11:49 #63440
MerlinMaître des clés2.
this.getField(« CHAMPTEXTE« ).value = event.value;
:Smiley15:
25 février 2018 à 15:31 #63441Cln
ParticipantVoilà, j’ai été plus doucement, et je pense avoir trouvé….
J’ai eu un peu de mal lorsque j’ai voulu ajouter une troisième liste, mais à force, ça a fini par payer !Le Yi-King dit bien « La persévérance est avantageuse » :bonjour:
Merci Merlin, Alex et les autres, en tout cas, et je n’ai pas fini de vous vénérer….. :joker:
Je joins mon exemple, du coup…
- AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.
