Dominique Meeùs
Dernière modification le   
retour à la table des matières — à l’index — à ma page de départ

Importation de données dans une base

On a vu dans le publipostage comment se lier à une base de données externe. Il ne semble pas possible de transformer en tables internes des tables externes liées. LibreOffice Base dispose aussi d’une fonctionnalité d’importation de tables, bien cachée (comme trop souvent en LibreOffice) : elle n’apparait comme telle ni dans les commandes de menu ni dans l’aide. On la trouve cependant dans des documents d’aide en PDF sur les sites de LibreOffice et dans différents forums ou How To sur le sujet.

En deux mots : dans une base de données LibreOffice Base, on peut coller comme table des données copiées d’une table de LibreOffice Calc. Concrètement :

  1. Pour arriver dans Base, les données devraient se retrouver d’abord dans Calc. Si ce sont des tableaux de Word, des feuilles de calcul d’Excel ou des tables d’Access ou d’autres encore, commencer par sauver les données en format .xls d’Excel. S’il s’agit de données lisibles par des applications qui ne sauvent pas dans le format d’Excel, sauver en format.csv (CSV, Comma Separated Values, texte séparé par des virgules, ou des points-virgules) ou dans un autre format (je pense à .dbf) que Calc peut lire.
  2. Ouvrir ou créer la base de données LibreOffice. Se débarrasser de tous les assistants de manière à avoir l’écran principal de l’application et y choisir Tables sous Base de données.
  3. Ouvrir les données dans LibreOffice Calc. (En ouvrant un fichier .csv il faudra indiquer quel est le codage des caractères, si c’est virgule ou point-virgule qui sépare les champs et si les champs sont délimités par des guillemets.) Veiller à avoir une ligne de nom de champs en tête des données. (L’ajouter au besoin.) Sélectionner toute la zone des données voulues (qui peut être une partie seulement de la feuille) en incluant sa ligne de noms de champs. Copier.
  4. Dans LibreOffice Base, faire Édition, Coller. (On peut aussi cliquer le bouton Coller de la barre de boutons. On peut aussi cliquer du bouton droit dans le vide sous le titre Tables de la fenêtre de l’application). Une boîte de dialogue demande d’abord le nom de la table, ce qu’on veut importer, habituellement les noms de champs et les données et si on veut créer une clef primaire. Une clef primaire est une bonne idée sauf si on sait qu’on pourra utiliser un ou plusieurs champs de données comme clef. Cliquer Suivant. Le dialogue suivant permet de choisir les champs à importer en les faisant passer de la colonne de gauche à la colonne de droite. On peut sélectionner tout. Cliquer Suivant. Maintenant, il faut pour chaque champ choisir son type et sa longueur. Sélectionner un champ après l’autre et le paramétrer avant de cliquer le bouton. En cliquant du bouton droit sur un ou plusieurs champs, on peut constituer ce ou ces champs en clef primaire. On peut aussi laisser Base procéder à une reconnaissance automatique du type des champs à la lecture de quelques lignes de données : indiquer le nombre de lignes à lire (je suppose que plus de lignes prend plus de temps mais améliore le résultat) et cliquer Auto. Il faut alors quand même revoir un à un les types de champ pour vérifier. Tous ces choix doivent être faits très soigneusement parce que le changement ultérieur de type entraîne généralement la perte des données. Quand on est vraiment sûr, on fait Créer. (Si on a oublié de créer une clef primaire, on a ici un rappel.) Avec le temps qu’il faut (ne pas croire trop vite que l’application s’est plantée) et un peu de chance, on a la table voulue.
Dominique Meeùs . Date: 2011… 2017