Liste externe sur Contrôle Listbox

Bonsoir à tous,

une p'tite question qui me démange depuis pas mal de temps ....

Peut-on remplir une listbox avec une liste externe, genre fichier CSV ??

Je pense que si c'est possible il doit y avoir une macro la-dessous mais
rien trouvé pour le moment.

Le but est de faire circuler un document sur un réseau en plusieurs
exemplaire et pouvoir modifier cette liste sans devoir rappeler tout les
documents

Je sais le faire sur une feuille calc mais pour là c'est pour un dialogue
dans un document Writer.

Merci d'avance pour votre aide

Et bonne soirée à tous

Bonjour

La réponse sera différente selon ce que tu entends par :

Virgule wrote:

c'est pour un dialogue dans un document Writer.

S'agit-il vraiment d'un dialogue (et dans ce cas, tu l'appelles et utilises
par macro et donc, en effet, tu peux faire ce que tu veux : ouvrir un
fichier texte et alimenter la liste), ou d'un contrôle liste déroulante
dessiné dans le document (et donc rattaché à un formulaire) ?

Dans ce deuxième cas, une possibilité de solution serait :

1. Créer une base de données de type Texte (Fichier> Nouveau> BDD> Se
connecter à : Texte (indiquer le chemin où se trouve le fichier csv et les
paramètres de connexion)
2.Référencer cette base de données (dernière étape du dialogue de création
ou via Outils> Options> Base> Base de données
3.Dans le document writer contenant la liste, modifier le formulaire
sous-jacent en indiquant comme source de données la source créée ci-dessus
et comme table celle pointant sur le CSV concerné
4.Laisser vide la propriété "Champ de données" du contrôle liste
5.Définir sa propriété Type de contenu : SQL et le contenu. Par exemple :

SELECT "Nom" FROM "SourceTexte"

"Nom" est ici le nom du champ à afficher et "SourceTexte" le nom du fichier
CSV

NOTA : le choix fait dans la liste ne sera pas enregistré avec le document
(puisque la liste n'est associée à aucun champ).

Ci-joint un exemple avec une liste affichant le champ auteur de la
bibliographie par défaut (ici la source de type dbf mais le principe est le
même). Cette source de données étant en principe référencée par défaut le
document devrait fonctionner sans modification...

http://nabble.documentfoundation.org/file/n3316128/ListeSourceCSV.odt
ListeSourceCSV.odt

Cordialement
Pierre-Yves

Bonjour,

Merci Pierre-Yves pour ta réponse détaillée.

Après quelques tests, plus ou moins concluants avec une BDD

Je voudrais bien tester le premier cas, avec un dialogue. Le seul hic je
n'ai pas trouvé comment injecter ma liste en provenance de mon fichier cvs.
pour alimenter ma listbox figurant dans ce dialogue.

Merci par avance

et

Bonne Journée à tous

Bonjour

Ce que tu demandes peut être relativement complexe selon ta connaissance de
la programmation et comme tu ne fournis pas ton document, il est difficile
de deviner ce que tu as déjà réalisé et ce qui manque...

On peut alimenter une liste soit élément par élément (on ajoute un item à la
fois) ou "en bloc" si l'on dispose des éléments dans une variable tableau.

Tu trouveras des exemples d'utilisation des méthodes & propriétés des listes
ici :
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Basic/List_Box

Je te joins également un fichier exemple comprenant deux approches
différentes :
- Les procédures du module1 ouvre un fichier CSV dans Calc puis extraient
une plage pour alimenter la liste
- Les procédures du module2 lisent directement le fichier CSV pour alimenter
la liste

Dans les deux cas le même traitement est ensuite utilisé pour récupérer la
sélection dans la liste et mettre à jour un champ du document.

Pour faciliter la lecture chaque module est "complet" (reprise de procédure
commune).

Le document comprend deux boutons correspondant aux deux procédures.

http://nabble.documentfoundation.org/file/n3326571/DialogListeCSV.odt
DialogListeCSV.odt

Les modules comprennent en constante l'url du fichier CSV (et pour le
module1 la plage à utiliser).
Il convient bien entendu d'adapter ces valeurs à ton cas...

Nota :
- il s'agit là d'un exemple "vite fait" sans aucune réalité fonctionnelle
- beaucoup d'autres façons de faire existent...

Cordialement
Pierre-Yves

Bonjour Pierre-Yves et Bonjour à tous,

Merci pour ton fichier avec les codes, cela va faire avancer mon navire.

Mon principal objectif était de pouvoir modifier mon fichier CSV et que
toutes listes qui y soient attachés soient mises à jour en même temps. Les
listes figurant sur divers documents destinés à être déployé sur un réseau.

Merci encore et bonne journée