Liste et champs multiple provenant d’un fichier CSV en pièce jointe  (Lu 268 fois) Partager ce sujet Imprimer

1 B


jctremblay  05 mars 2021 : 03:42

Bonjour,

Après avoir lu ces deux discussions, j’ai réussi à automatiser la création d’une liste (combobox) et de remplir automatiquement les champs.

https://abracadabrapdf.net/forum/index.php/topic,2228.html
http://abracadabrapdf.net/forum/index.php/topic,3418.html

Merci à tous!

J’ai quelques interrogations auquel j’aimerai avoir des confirmations question de bien saisir les différents document scripts qui y sont utiliser.
1. À quoi sert la première colonne colonne & LE à la fin dans les fichiers CSV utilisés? Sont-ils essentiels?
2. J’ai réalisé que les fichier .CSV ne doivent pas contenir de cellules vide dans la colonne qui servira à construire le ComboBox (sinon, il y a une erreur InvalidArgsError: Arguments incorrects.). Vrai?
3. Le contenu des cellules de la colonne principale doivent être unique sinon, elle seront supprimée? Vrai aussi?

Dans mon document, je n’ai eu qu’à utiliser les 4 document scripts suivant: confiComboBox , importDatas , lectureCSV et xinitialisation
Pour mes besoins, le seul de ces quatre que j’ai eu a modifier est le xinitialisation (et bien sur le script de format personalisée du combobox).

Donc, tout fonctionne. Merveilleux! Ou presque... Je remarque que si je modifie le contenu du CSV, et refaire l’initialisation. Les cellules modifiées s’affiche. Par contre si j’ajoute quelques rangées à la toute fin de celui-ci, la réinitialisation n’ajoute pas ceux-ci. Pourquoi?

Maintenant, mon défi est de faire de multiple copie de ce combobox et ses champs respectifs, pour obtenir plusieurs rangées distinctes. (probablement en utilisant des groupe de champs numérotés. Mais là je suis dans le néant) Voir image et PDf ci-joints.


Merci!


IP archivée


bebarth  05 mars 2021 : 10:46

bonjour,
1. À quoi sert la première colonne colonne & LE à la fin dans les fichiers CSV utilisés? Sont-ils essentiels?
J'avoue ne pas avoir lu ces 2 posts car ça demande un peu de temps !
Si tu poses cette question, c'est que tu n'est pas à l'origine du fichier .csv, mais elle ne servent apparemment à rien pour le script !

2. J’ai réalisé que les fichier .CSV ne doivent pas contenir de cellules vide dans la colonne qui servira à construire le ComboBox (sinon, il y a une erreur InvalidArgsError: Arguments incorrects.). Vrai?
Faux, cela créera une ligne vide dans le menu déroulant, mais ça peu se traiter !

3. Le contenu des cellules de la colonne principale doivent être unique sinon, elle seront supprimée? Vrai aussi?
Faux, peut-être dans le script que tu as récupéré (que je n'ai pas lu car c'est un peu long de lire/comprendre un sript que l'on a pas écrit). On peut trier ou pas les éléments à inclure dans le menu déroulant.
Donc, tout fonctionne. Merveilleux! Ou presque... Je remarque que si je modifie le contenu du CSV, et refaire l’initialisation. Les cellules modifiées s’affiche. Par contre si j’ajoute quelques rangées à la toute fin de celui-ci, la réinitialisation n’ajoute pas ceux-ci. Pourquoi?
Certainement que le numéro de la dernière ligne a été "gravée" dans le script au lieu de se calculer automatiquement.

Maintenant, mon défi est de faire de multiple copie de ce combobox et ses champs respectifs, pour obtenir plusieurs rangées distinctes. (probablement en utilisant des groupe de champs numérotés. Mais là je suis dans le néant) Voir image et PDf ci-joints.
Avant de commencer, il faut savoir ce que tu veux faire exactement ! Quand ajouter les lignes ? Avec un bouton ou automatiquement dès qu'une ligne est pleine ? Sur une page unique ou plusieurs pages ? Est-ce qu'un bouton de suppression de ligne doit être prévu.
La complexité du script dépend de toutes ces options... bonne chance !!!

Mais tous ces sujets on déjà été traités une ou plusieurs fois.
Je te laisse chercher un peu...
N'hésite pas à relancer le sujet si tu ne trouves pas (après avoir cherché).
@+
 :bonjour:

IP archivée


jctremblay  05 mars 2021 : 21:37

Bonjour, Bebarth!


J’ai fait d’autres tests, bien que la première colonne, et la dernière n’est probablement pas nécessaires dans la théorie, les scripts ici le requièrent sinon, ça ne marche pas. Même chose pour les cellules vides dans la colonne principale et les doublons qui sont éliminés. Les scripts semblent être avoir été conçu avec ces limitations.


Tu as raison, lire et comprendre un script de quelqu’un d’autres n’est pas simple. Il faudras demander des explications à alex.



Avant de commencer, il faut savoir ce que tu veux faire exactement ! Quand ajouter les lignes ? Avec un bouton ou automatiquement dès qu'une ligne est pleine ? Sur une page unique ou plusieurs pages ? Est-ce qu'un bouton de suppression de ligne doit être prévu.
La complexité du script dépend de toutes ces options... bonne chance !!!

Mais tous ces sujets on déjà été traités une ou plusieurs fois.
Je te laisse chercher un peu...
N'hésite pas à relancer le sujet si tu ne trouves pas (après avoir cherché).
@+
 :bonjour:


En fait, je veux obtenir le même résultat, mais sur de multiple copie pour chacune des rangées. Les combobox tous remplis avec le CSV., mes les champs à remplir par rangées. Pas besoin de bouton pour ajouter/supprimer. Les champs sont là, il faut simplement mettre la mécanique en place.


Ex:
Ligne 1 = ComboBox.0, textA.0, textB.0, textC.0, etc
Ligne 2 = ComboBox.1, textA.1, textB.1, textC.1, etc
etc...


IP archivée


bebarth  05 mars 2021 : 22:22

bonsoir,
Je crois qu'Alex ne fréquente plus beaucoup le forum !
Moi, je n'utilise pas ce script, mais le résultat est identique. Je ne sais pas exactement quand j'aurai le temps de regarder ton fichier !
Demain après-midi ou mardi/mercredi !
Donc, dès qu'une ligne est remplie, on peu remplir la suivante. Correct ?
@+
 :bonjour:

IP archivée


Merlin  05 mars 2021 : 22:33

Je confirme qu'aux dernières nouvelles Alex coule depuis quelques années une paisible retraite quelque part en France.
 :merlin:

IP archivée


jctremblay  06 mars 2021 : 03:31

Moi, je n'utilise pas ce script, mais le résultat est identique. Je ne sais pas exactement quand j'aurai le temps de regarder ton fichier !
Demain après-midi ou mardi/mercredi !
Donc, dès qu'une ligne est remplie, on peu remplir la suivante. Correct ?
@+
 :bonjour:


Bebarth, j’essai une autre avenue avec des codes plus simples (merci Merlin). Alors, ne te casse pas la tête avec ceux d’Alex. Le défi restera de charge la CSV dans une série de ComboBox et les champs de la ligne.


Merci!

IP archivée


bebarth  07 mars 2021 : 16:38

bonjour,
Le défi restera de charge la CSV dans une série de ComboBox et les champs de la ligne.
Voici pour remplir plusieurs lignes. C'est une version "minimum" qui ne tient pas compte de lignes précédentes/suivantes (on peut remplir n'importe laquelle dans n'importe quel ordre). Ici le but étant de comprendre comment récupérer le numéro d'indice de la ligne pour emplir des champs adéquats.
Il faudrait l'améliorer pour (à mon avis) ne remplir une ligne uniquement si la précédente est remplie ! C'est tout à fait faisable.
Je te laisse le soin de mettre certaines parties de ce script en fonction afin de ne pas le répéter sur tous les champs...
@+
 :bonjour:

IP archivée


jctremblay  07 mars 2021 : 16:54

bonjour,Voici pour remplir plusieurs lignes. C'est une version "minimum" qui ne tient pas compte de lignes précédentes/suivantes (on peut remplir n'importe laquelle dans n'importe quel ordre). Ici le but étant de comprendre comment récupérer le numéro d'indice de la ligne pour emplir des champs adéquats.
Il faudrait l'améliorer pour (à mon avis) ne remplir une ligne uniquement si la précédente est remplie ! C'est tout à fait faisable.
Je te laisse le soin de mettre certaines parties de ce script en fonction afin de ne pas le répéter sur tous les champs...
@+
 :bonjour:


Merci Bebarth,  :bravo:


Il me restera à inclure ça dans ma version en chantier. Ce qui devrait se faire assez facilement. Toi et Merlin êtes une source d’info extrêmement précieuses.

IP archivée