Exporter une table ou une requête au format CSV

Comment exporter une table ou une requête au format CSV ?

Méthode manuelle : Access 2007 ou 2010

  1. Sélectionnez la table ou requête à exporter.
  2. Activez l’onglet Données externes du ruban.
  3. Cliquez sur l’icône Fichier texte du groupe Exporter (à ne pas confondre avec le groupe Importer et lier, qui ferait l’inverse !).
  4. Dans la boîte de dialogue, tapez le chemin du fichier CSV à créer (ou utilisez le bouton Parcourir, c’est sans doute plus pratique).
  5. Cliquez sur OK lorsque le chemin est correct. Vous obtenez un aperçu des données, et le choix du type d’exportation (conservez Délimité pour un fichier CSV).
  6. Vous pouvez maintenant préciser le délimiteur, c’est-à-dire le caractère utilisé pour séparer les données dans le fichier CSV.
  7. Cliquez encore sur le bouton Suivant. Vous pouvez encore modifier le nom du fichier de destination, si nécessaire, avant de cliquer sur le bouton Terminer.
  8. Il est possible ensuite de mémoriser toute votre séquence pour la « rejouer » ultérieurement. Dans ce cas, vous devrez nommer cette séquence, et lui donner une description.
Remarque

La table exportée dans cet exemple contient des adresses e-mail sous forme de liens hypertexte. Vous voyez qu’Access exporte les valeurs brutes de ces e-mails, qui ne sont pas vraiment exploitables.

Pour éviter ce problème, créez une requête qui va « nettoyer » les adresses e-mail, puis exportez la requête plutôt que la table. Consultez l’article Nettoyer des liens hypertexte à la volée pour voir comment créer cette requête.

Options avancées

Les réglages par défaut, tout au long de l’exportation, devraient suffire. Mais si vous avez besoin de variantes (par exemple : changer le format des dates, utiliser un encodage précis comme Unicode / UTF-8), cliquez sur le bouton Avancé qui figure sur presque chaque boîte.

Spécifications d'exportation

Méthode manuelle : Access 2003 et inférieur

  1. Cliquez sur le menu Fichier / Exporter.
  2. Dans la liste des types de fichiers, choisissez « Fichiers texte (*.txt, *.csv, *.tab, *.asc)« .
  3. Nommez votre fichier, par exemple : export.csv.

Automatisation en VBA

La méthode la plus rapide consiste à passer par la commande DoCmd.TransferText d’Access. Les avantages étant que ça ne vous prendra qu’une ligne, et que sera automatique.

Vous devez fournir ces paramètres à la commande :

  • Le type d’opération à faire (acExportDelim pour un export au format délimité).
  • La spécification de fichier pour l’exportation, si elle est utile (elle est vide dans mon exemple).
  • Le nom de la table ou de la requête.
  • Le chemin complet du fichier à créer.
  • Une valeur booléenne qui vaut True si vous souhaitez les noms des champs en première ligne du fichier CSV, et False sinon.

Vous aimerez aussi...

9 réponses

  1. Gilles dit :

    Je voudrais aller encore plus loin.
    J’explique: comment faire pour que l’export se fasse seul tout les semaines ou tout les mois ( avec un .bat ou autre)?

  2. Hervé Inisan dit :

    christophe vdw > Je viens de commencer une série d’articles sur l’export CSV. Le premier article est en ligne depuis hier.

  3. christophe vdw dit :

    merci d’avance

  4. Hervé Inisan dit :

    christophe cdw > Je crois que l’exportation standard d’Access n’est pas plus personnalisable que ça, au niveau des dates. Il va falloir attaquer le problème par soi-même, en VBA. 😉

    Je devrais avoir le temps, la semaine prochaine, de poster un article sur le sujet.

  5. christophe cdw dit :

    bonjour,Mr inisan
    vous avez bien compris le problème!!
    je vous détail plus mon objectif.
    mon but est l’envoi automatique de table access (via aoutlook)en CSV.
    la méthode proposée me conviens pour les champs:texte,numérique et monétaire.
    Seul les champs DATE me pose problème!!!!!!!!!!
    pour « biaiser » le problème,je vais manuellement dans le fichier Csv générer par access.
    je modifie le format (click droit>format cellule) puis envoi ce fichier en pièce jointe
    existe-il un moyen d’éviter cette « phase manuelle »??????
    mercissssssssssssssssssssssssssss

  6. Hervé Inisan dit :

    christophe vdw > Je n’ai pas pris le temps de tester (pas d’Access tout de suite sous la main), mais une spécification d’exportation avec un format JMA exporte également l’heure ? (et c’est l’heure qui pose problème, si j’ai suivi ?)

  7. christophe vdw dit :

    bonjour,
    j’ai utiliser le code VB pour exporter une table, dans le but de transférer des données a ma comptable.
    je rencontre un problème sur un champ date:
    le format d’export est 16/06/2013 00:00 refusé par le logiciel de ma comptable(cegid)
    il faut un format *JJ/MM/AAAA
    connaissez-vous une solution???
    encor merci pour l’aide dans « NbEnLettres »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *