Bonjour,

Au vu de tes données, je pense que la solution c'est au moment où Calc récupère les données.

Le 27/04/2016 à 07:08, Dominique_sextant a écrit :
Bonjour,

LIBO 5.1.2.2, Kubuntu 16.04 ou, au travail, W7 et LIBO 3.xxx (je ne sais
plus de quelle version il s'agit)

Je procède à l'extraction de données (plusieurs centaines de lignes) depuis
une application métier.
Comme demandé par Jean-François, quel est le résultat de l'extraction ? Un fichier CSV ? Un vrai/faux XLS ? Un fichier ODS ?
J'ai des informations agrégées dans une seule
cellule (Calc) de la forme :

"Filtre structurel codique : ,  XXX (049026)
Identifiant organisme (CODE_BUDCOLL), liste de valeurs autorisées :
04902642200, 04902642100, 04902642800"
Je pars de l'hypothèse que l'extraction donne un fichier texte (CSV ou faux XLS). Visiblement, l'import se fait mal, puisque l'application métier semble avoir prévu des séparateurs de colonnes (la virgule) qui n'ont pas été reconnus. Si l'import doit se faire régulièrement, il faut au moment de l'ouverture du fichier d'extraction, indiquer que la virgule est séparateur de colonne, et peut-être aussi le double point et les parenthèses si tu veux récupérer les autres informations dans des colonnes séparées. Si tu veux garder le 0 au début des numéros, il faudra préciser que ce sont des colonnes texte.

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 les fichiers qui ont déjà été créés, il faut sélectionner les données et choisir la commande Données > Texte en colonne et cocher la virgule comme séparateur de colonne.
Tu sépares ainsi dans des colonnes.

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
Là tu veux transposer tes données. Donc comme l'as indiqué Jean-François : Copier, puis Collage spécial et cocher Transposée.

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

J'ai, par ailleurs, le fichier des collectivités comme ceci qui est
directement exploitable :

04902642200   PANTIN
04902642100   ORLÉANS
04902642800   TOULOUSE
Dans le tableur, la fonction EQUIV devrait te permettre de faire le boulot.

Maintenant, il y a peut-être une autre solution sans passer par Base (j'aime
bien Base :-)) pour aboutir au même résultat mais je ne vois pas laquelle.
Je n'utilise pas Base, c'est pourquoi je ne t'ai proposé que des solutions avec Calc.

Autres questions : chaque agent n'aura que 3 numéros ? Existe-t-il un nombre maximum de numéros ? Dans l'affirmative il vaudrait mieux conserver les numéros dans des colonnes et garder une ligne par agent, cela me semblerait + cohérent.
Un fichier exemple serait bienvenu pour mieux comprendre tes besoins.

A+

Laurent BP

--
Envoyez un mail à [email protected] 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

Répondre à