Date: prev next · Thread: first prev next last
2016 Archives by date, by thread · List index


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.