Générer un listing sur base d'un fichier calc

Bonjour à tous,

J'ai une liste d'adresses (avec des tas d'informations complémentaires) dans un fichier calc.

J'aimerais générer un listing lisible par le commun des mortel (c'est à dire à peu près tout le monde :wink: ) en y appliquant une mise en page.

Pourriez-vous me donner des pistes? D'habitude je me contente de travailler sur le fichier clac, mais là je dois le fournir à d'autres personnes.

Merci d'avance et à bientôt.

e 17/02/2015 14:58, Sébastien Adam a écrit :

Bonjour à tous,

J'ai une liste d'adresses (avec des tas d'informations complémentaires)
dans un fichier calc.

J'aimerais générer un listing lisible par le commun des mortel (c'est à
dire à peu près tout le monde :wink: ) en y appliquant une mise en page.

J'allais dire que je ferais un publipostage ou mailing sauf que LibreOffice reste arqué sur la notion mailing et donc on ne peut que créer des "lettres "individuelles" et pas un "catalogue" qui permettrait d'avoir plus d'une donnée sur une page. Maintenant, on peut toujours tricher (?), je viens d'essayer sans conviction.
D'ailleurs en parlant de tricher, passer par l'assistant étiquette peut être une solution envisageable.
L'idée est de croiser un document texte (Writer) avec une source de données.

Une proposition peut-être pas "recevable" sur ce forum : Récupérer le fichier Calc que l'on enregistre en .xls ou (.xlsx) pour Excel dans une base de données ACCESS. Faire une requête sur la table créée et exporter cette requête en PDF ou RTF

Claude

Dans ce cas autant soit :
- utiliser le publipostage de Word directement
- soit intégrer le fichier Calc dans Base et faire un rapport.

Le format RTF ne permet pas une mise en forme suffisante d'ailleurs et est un format mort et propriétaire.

Bonjour,

Ce qui possible :

  * Faire un tableau d'autant de colonnes qu'il y aura de champs
  * Se connecter sur le tableau . Soit par assistant mailing, soit par
    Insertion -Champs - Autres - Base de données
  * Insérer et mettre en forme les champs pour la première ligne
  * En étant sur le champs de la dernière colonne, utiliser Insertion -
    Champs -Autres (CTRL F2) -> Onglet Base de données -> Choisir la
    bonne base de données à droite-> Choisir "Enregistrement suivant" à
    gauche -> Insérer (On peut faire affichage - Nom de champ, pour
    vérifier que la commande a bien été insérée)
  * Créer autant de ligne dans le tableau qu'il y aura d'enregistrement
    puis y copier cette première ligne

Peut être un peu fastidieux mais ça fonctionne

/
Christian FOURCROY/

Bon alors, vu que ça va me servir aussi je me suis un peu plus penchée sur la question.

1/ Donc : Assistant Mailing en faisant correspondre les champs d'adresse (on peut en mettre jusqu’à 15, s'il y en a plus, on est bien embêté), éditer le document, faire sortir les champs de ce [censuré] de cadre (un copier-coller soigneux suffit) et virer ledit cadre, ajouter au besoin les noms des champs (question de lisibilité), mettre en forme (merci d'utiliser les styles).

2/ *Important* : faire un paragraphe vide qui va servir de séparateur.

3/ *Essentiel* : Enregistrer le document fusionné comme document unique (on aura tous les enregistrements dans le même fichier).

4/ Ouvrir le document fusionné et faire un rechercher-remplacer de paragraphe vide qui non, content de virer tous les paragraphes vides, va tout mettre en continu.

5/ Optionnel : boire une tasse de thé pour fêter ça.

Sinon, on peut aussi travailler sur la mise en forme du tableau, tout dépend des données et de la quantité.

Et aussi : intégrer le tableau dans Base et faire un rapport (mais faut un peu s'accrocher quand même pour faire un rapport qui ait de l'allure avec Base).

Encore moi, et après j'arrête. Encore plus simple, cela suppose que la feuille ait été ajoutée dans les Bases de données reconnues (Outils/Option/Base/Bases de données enregistrées) :

- cliquer sur le bouton Sources de données (F4 ou menu Affichage)
- glisser les champs
- mettre en forme en utilisant les styles et en faisant un paragraphe vide après le dernier champ
- Imprimer et dire oui à "Le document contient des champs d'adresses de base de données. Voulez-vous imprimer une lettre formulaire ?"

et, évidemment, au lieu d'imprimer, enregistrer le document, tous les enregistrement dans une document unique.

Pour finir, ouvrir ce nouveau fichier et virer tous les paragraphes vides comme précédemment. Restera plus qu'à ajouter entête, pied de page, etc.

Bon à savoir : si la première ligne est en titre 1 par exemple (donc le nom de la personne), on peut faire une table des matière qui permettra de trouver plus facilement la page de l'enregistrement.

Je ferai plutôt un rapport en utilisant Base.

Bernard

AU final, j'ai fait un copier-coller des données dans base (je n'ai pas trouver le moyen de lier le fichier calc dans une table base), puis j'ai fait un rapport.

Merci à tous pour vos suggestions.

Pour que ce soit encore plus simple, il t'a juste manqué deux étapes...

Après la phase "glisser les champs" il faut ajouter une première étape :
- Cliquer sur Insertion->Champs->Autres (ou directement Ctrl+F2) ;
- Dans la boîte de dialogue, choisir l'onglet "Base de données"
- Dans la liste figurant dans la partie gauche de la boîte, choisir "Enregistrement suivant"
- Cliquer sur Insérer et ensuite sur Fermer pour fermer la boîte.
(on voit que dans le document, à l'endroit où était positionné le curseur, est venu s'insérer un petit carré gris, on ne voit rien d'autre)

Après ça, on peut mettre en forme ses champs et avant d'imprimer, on fait le truc suivant :
- Copier l'ensemble de champs qui sera répété pour chaque enregistrement Y COMPRIS le petit carré gris qu'on a inséré juste avant
- se positionner juste en dessous (sur la même page) et coller
- répéter l'opération jusqu'à la fin de la première page
- s'arranger pour qu'une page contienne un nombre entier de "collages" (au besoin, si le dernier déborde sur une deuxième page, le supprimer)

Ceci fait, on peut passer à l'impression.

C'est un peu plus de boulot à la création, mais ça limite la nécessité de ré-intervenir sur la mise en forme dans le document issu de la fusion.

Espérant avoir (un peu) aidé.

Tu fais Fichier > Nouveau > Base de données
Tu choisis 'Connexion à une base de données existante' puis dans la liste déroulante : 'Classeur'
Et tu te laisses guider :slight_smile:
Tu donnes un nom à ta base.
La table aura le nom de la feuille du classeur.

Bernard

Bonjour,

AU final, j'ai fait un copier-coller des données dans base (je n'ai
pas trouver le moyen de lier le fichier calc dans une table base),
puis j'ai fait un rapport.

Merci à tous pour vos suggestions.

-------------------
Sébastien Adam
http://www.sebastienadam.be/

Tu fais Fichier > Nouveau > Base de données
Tu choisis 'Connexion à une base de données existante' puis dans la
liste déroulante : 'Classeur'
Et tu te laisses guider :slight_smile:
Tu donnes un nom à ta base.
La table aura le nom de la feuille du classeur.

Bernard

OK pour créer une nouvelle base de données à partir de la feuille de calcul, ça marche impec'. Mais je cherchais le moyen de lier une feuille de calcul dans une base existante.

Sébastien,
Avec Access : Nouveau > menu Données Externes cliquez sur icône Excel . Dans l'écran qui est affiché choisir le fichier Excel (Parc/ourir) cochez la case :Importer les données source dans une nouvelle table .....Vos données apparaissent faites "suivant" et cochez la case: /première ligne /contient les en-têtes colonnes/. Faites "suivant" en laissant à Access le choix de la clé primaire (case à cocher). Faites une requête simple basée sur la Table créée et enfin clic droit sur cette requête pour exporter dans le format qui vous convient ou faire un rapport basé sur cette requête (ou directement basé sur la Table). Avec un rapport vous avez un bon choix de présentations.
Claude

À ma connaissance ce n'est pas possible. Mais je suis loin de tout connaître. :slight_smile:
À part le copier-coller comme tu as fait...

Bernard

Le seul problème, c'est que je ne dispose pas des produits MSOffice.

Tu peux ensuite copier-coller ta table depuis la base qui vient d'être créée (que tu pourras ensuite supprimer) vers la base existante.

Bernard