Importer une feuille Excel dans Access

Je dispose d’une feuille Excel qui contient des données sous forme de liste. Comment importer cette liste dans Access pour éviter de la ressaisir ?

Importer une feuille Excel

Note
La procédure donnée dans cet article s’applique à Access 2003 et aux versions précédentes. Elle change un peu dans Access 2007 (même si le principe reste le même). Un prochain article donnera l’équivalent pour Access 2007, stay tuned!
Vidéo
Si vous préférez une démo à une longue explication de texte, un screencast est disponible en bas de cet article !
  1. Démarrez Access, et ouvrez la base de données concernée.
  2. Cliquez du bouton droit de la souris quelque part dans la base de données, et choisissez l’option Importer. Vous pouvez aussi faire appel au menu Fichier / Données externes / Importer.
  3. Dans la boîte de dialogue qui suit, affichez les fichiers de type Excel, et choisissez le fichier à importer.
  4. Sélectionnez ensuite la feuille à importer, puis cliquez sur le bouton Suivant.
  5. A l’étape suivante, cochez la case « Première ligne contient les en-têtes de colonnes« … si la première ligne de votre tableau Excel donne les titres de colonnes (donc les futurs noms de champ, dans Access). Pour que tout se passe correctement, il est préférable que ces titres, dans Excel, ne contiennent pas de retour à la ligne (obtenus par [ALT] + [Entrée]).
  6. Choisissez ensuite la table Access où vont être stockées les données importées. Il peut s’agir d’une nouvelle table – qui sera créée automatiquement pour l’occasion – ou d’une table existante. Dans le deuxième cas, la structure de la table doit bien sûr être compatible avec les données importées (ou l’inverse !).
  7. Définissez les noms des champs, si vous le souhaitez. Vous pouvez également indexer certains champs, ou ne pas en importer certains. Toutes ces opérations peuvent être faites plus tard, en ouvrant la table finale en mode Création.
  8. Une bonne table Access doit avoir une clef primaire. Si votre fichier Excel comporte une colonne dont toutes les valeurs sont différentes, choisissez cette colonne comme clef (c’est le cas de mon champ Numéro). Sinon, vous pouvez laisser Access créer la clef automatiquement (vous obtiendrez un champ appelé , de type NuméroAuto). Vous pouvez aussi ne pas créer de clef, et l’ajouter plus tard à la table.
  9. Ouf, c’est bientôt fini ! Il ne vous reste plus qu’à donner le nom de la table à créer dans Access. Cliquez enfin sur Terminer.
Conseil
Excel n’a pas vraiment de notion de type de données et de taille de champ. Au moment de l’importation, Access va donc faire les choix les plus larges, par défaut. Ça veut dire que tous les nombres seront de type Réel double, et que les champs Texte auront une taille de 255 caractères. Ce serait une bonne idée, après l’importation, d’ouvrir la table en mode Création, et d’optimiser tout ça !

Vous aimerez aussi...

6 réponses

  1. Hervé Inisan dit :

    yass > Est-ce que le fichier Excel est lié à la base, ou importé au départ ?

    Est-ce que je peux avoir un exemple de requête simple (pour voir comment elle est construite) ?

  2. yass dit :

    Pardon je me suis mal expliqué

    il s’agit donc d’un fichier .mdb dont toutes les requêtes se font à partir d’un fichier excel que je possède également

    Je souhaiterais remplacer l’ancien fichier excel par le nouveau qui lui est à jour. Comment dois je my prendre?

    merci

  3. Hervé Inisan dit :

    yass > Est-ce que tu peux préciser la question ? (a priori, il n’y a pas de tableur dans ton besoin)

  4. yass dit :

    Bonjour et merci pour cette explication

    J’ai une question dans le même domaine mais je ne sais pas comment m’y prendre…

    Voilà, j’ai récupéré un fichier access dont je dois mettre à jour la base de donnée initiale, comment mettre à jour ce tableur de manière à garder toutes les requêtes ?

    Merci d’avance

    Yass

  5. Hervé Inisan dit :

    John12tn > J’ai ajouté un nouvel article dans le blog qui devrait répondre à ce problème. Bonne lecture !

  6. John12tn dit :

    Bonjour,

    Je traite d’important volume de données et j’ai un fichier Excel comportant 12 onglets (janvier à décembre) de chacun environ 30’000 lignes…

    Comment faire pour regrouper ces 12 onglets en un seul fichier Access? (un fichier access de 360’000 lignes)

    Merci d’avance pour votre aide

Laisser un commentaire

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