Bonjour Dominique,
Le 27/04/2016 07:08, Dominique_sextant a écrit :
Je procède à l'extraction de données (plusieurs centaines de lignes) depuis
une application métier. J'ai des informations agrégées dans une seule
cellule (Calc) de la forme :
le fichier source est un ods ? ou bien un csv ?
L'opération est-elle one-shot ou récurrente ?
"Filtre structurel codique : , XXX (049026)
Identifiant organisme (CODE_BUDCOLL), liste de valeurs autorisées :
04902642200, 04902642100, 04902642800"
Les cellules de la sorte sur chaque ligne sont différentes dans le sens où
elles délimitent les habilitations informatiques attribuées à plusieurs
centaines d'agents (un par ligne).
Supprimer toutes les lettres et espaces superflus ne me pose pas de
problème, pour aboutir à cette structure :
04902642200,04902642100,04902642800
pour du one-shot : répartir en colonnes, sélectionner les colonnes,
collage spécial > transposer.
Ca marche bien pour un agent unique mais avec plusieurs centaines à la
queue-leu-leu ça va pas le faire.
Remplacer si nécessaire la virgule par un autre séparateur n'est pas non
plus une difficulté. Ce que je ne vois pas, c'est comment scinder ces
informations dans une seule cellule en autant de lignes qu'il y a de
numéros, comme ceci
04902642200
04902642100
04902642800
Au cas particulier, l'agent sera sur 3 lignes après traitement. Ce que je
voudrais, c'est ensuite passer ce fichier dans Base afin de mettre en face
de chaque numéro le nom en clair de la collectivité correspondante
A première vue, je travaillerais sur un fichier csv que je filtrerais
via une macro (elle serait assez simple en fait).
1. Première ligne : on extrait le codique (si c'est utile par la suite)
2. Deuxième ligne : on extrait l'id organisme (idem)
3. on filtre les codes par agent et on écrit un fichier csv/ods
pour chaque ligne
3.a. On lit la ligne
3.b. on crée un tableau à partir de la ligne en séparant les éléments
sur les virgules (fonction Split())
3.c. on écrit un fichier texte (csv) qui contient, par ligne, les
éléments du tableau, comme demandé (en enlevant les espaces)
-> retour à 3.a.
jusqu'à la fin du fichier
4. si on veut, on peut même, en bout de course, convertir le fichier csv
ainsi généré en ods :)
5. on fabrique (manuellement) un classeur séparé qui va croiser notre
fichier ci-dessus avec celui des collectivités.
Simple, de bon goût... pas compliqué à faire.
Bien cordialement,
--
Jean-Francois Nifenecker, Bordeaux
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être
supprimés
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.