Création d’une base de données Access depuis Excel

Access est une application de gestion de base de données autonome, mais il est tout à fait possible de créer une base de données Access en s’appuyant sur des données externes issues d’autres bases ou de fichiers texte ou Excel.

Si Excel commence à devenir ingérable au quotidien (trop de fichiers, trop de liaisons entre fichiers), ce billet vous explique comment créer une base de données Access à partir d’Excel.

Entre Access et Excel, il existe différentes approches d’intégration : vous pouvez copier les données d’une feuille de calcul et les coller dans une feuille de données Access, importer une feuille de calcul dans une table Access ou encore attacher une feuille de calcul à une base de données Access.

Tout dépend de ce que vous souhaitez faire. Les scénarios sont divers : vous pensez avoir atteint les limites d’Excel surtout dans les liens entre fichiers et vous décidez de passer à Access.

Il arrive aussi parfois que certains de vos collègues ou amis exploitent Access, mais que par ailleurs vous récupériez périodiquement des données au format Excel avec des informations qui doivent être fusionnées sous Access.

illustration-database

Par exemple, lors d’une importation de feuilles de calcul dans une base Access, Access crée une copie des données dans une table, mais ne modifie pas la feuille de calcul Excel source.

Le principe de « liaison » est différent en ce sens qu’une modification sous Excel peut être reportée sous Access.

Préparez le fichier Excel et la base Access

Si votre classeur Excel comporte plusieurs onglets, sachez que vous ne pouvez importer que les données d’une feuille de calcul à la fois.

Vous ne pouvez pas importer toutes les données d’un classeur en une seule étape.

Pour commencer, sélectionnez les données à importer dans le fichier Excel, cliquez avec le bouton droit dans la plage sélectionnée, puis, dans le menu contextuel, cliquez sur Nommer une plage ou Définir un nom.

À partir la boîte de dialogue Nouveau nom, saisissez le nom de votre zone et validez par OK.

Côté Access, ouvrez la base de données où les données importées doivent être stockées en vous assurant de disposer de droits de modifications sur la base de données.

Si vous ne souhaitez pas stocker vos données dans une base de données existante, créez-en une vide : à partir de l’onglet Fichier, cliquez sur Nouveau, puis sur Base de données.

Contrôlez les erreurs d’importation

Si vous choisissez de stocker les données dans une nouvelle table, Access crée une table et y ajoute les données importées.

Si votre base Access comporte déjà une table de même nom, Access remplace le contenu de la table existante par les données importées.

En revanche, si vous choisissez d’ajouter les données à une table existante, les lignes de la feuille de calcul Excel sont ajoutées à la table spécifiée.

Si votre feuille Excel est correctement formatée, tout se passera bien.

En règle générale, les échecs d’importation sont à imputer à des données Excel sources qui ne correspondant pas à la structure de la table Access de destination.

Afin d’éviter toute ambiguïté, ouvrez la table en mode Création et vérifiez en particulier : l’information de première ligne (selon que la première ligne de la feuille Excel contient ou pas d’entêtes de colonne) et les types de données (Date, Numérique, etc.).

L’ordre des colonnes et des champs importe peu, mais le nom et le type de données de chaque colonne doivent être identiques.

S’il y a des champs qui ne sont pas en correspondance entre Excel et Access, il est nécessaire de les ajouter avant de lancer l’importation.

À l’inverse, si la table Access contient des champs manquants dans le fichier source Excel, il n’est pas nécessaire de les supprimer de la table s’ils acceptent les valeurs Null.

Démarrez une importation

Pour démarrer l’opération d’importation, sous l’onglet Données externes, dans le groupe Importer et lier, cliquez sur Excel.

À partir de la boîte de dialogue Données externes — Feuille de calcul Excel, dans la zone Nom fichier, spécifiez le nom du fichier Excel qui contient les données à importer.

Précisez si vous souhaitez effectuer l’importation dans une nouvelle table ou dans une table existante.

Dans ce cas, sélectionnez l’option Ajouter une copie des enregistrements à la table et choisissez la table dans la liste déroulante. Validez par OK.

Suivez les conseils de l’Assistant d’importation

Dès activation de l’importation, l’Assistant Importation de feuille de calcul démarre.

Après avoir sélectionné la feuille de calcul sur la première page de l’Assistant, cliquez sur Suivant puis sur Afficher les plages nommées.

Précisez si la première ligne de la plage source contient le nom des champs et cliquez sur Suivant.

Si vous importez les données dans une nouvelle table, Access s’appuie sur l’entête des colonnes pour attribuer le nom des champs de la table.

Si vous ajoutez des données à une table existante, assurez-vous que les entêtes de colonne dans la feuille de calcul source correspondent exactement aux noms des champs de la table de destination.

Access analyse les huit premières lignes de chaque colonne pour suggérer le type de données de champ le plus approprié. En cas de conflit, Access proposera le type Texte.

Bien que vous puissiez choisir un autre type de données que celui proposé, n’oubliez pas que les valeurs incompatibles avec le type de données choisi sont soit ignorées, soit converties incorrectement lors de l’importation.

N’hésitez pas au préalable à comparer et modifier — le cas échéant — le nom et le type de données du champ de destination pour éviter l’affichage du message Une erreur est survenue lors de l’importation du fichier.

Astuces

  • Lorsque vous ouvrez un classeur Excel dans Access (en sélectionnant dans la boîte de dialogue Ouvrir, dans la zone de liste Type de fichiers/Fichiers Microsoft Office Excel), Access crée une liaison vers le classeur au lieu d’en importer les données. L’établissement d’une liaison vers un classeur (principe d’attachement) est différent d’une importation d’une feuille de calcul.
  • Pour gagner du temps, vous pouvez enregistrer vos paramètres d’importation en tant que spécification : dans la zone Enregistrer sous, saisissez le nom de la spécification d’importation avec une éventuelle description. Si vous envisagez d’effectuer l’opération à intervalles réguliers (par exemple toutes les semaines ou tous les mois), activez la case à cocher Créer une tâche Outlook. Vous créez ainsi une tâche Outlook vous permettant d’exécuter la spécification à une date ultérieure. Validez en cliquant sur Enregistrer l’importation.

Bon à savoir : Base de données ou base de données Web ?

Access permet de créer des bases de données classiques accessibles à partir d’Access, mais aussi des bases de données Web dont la consultation peut-être faite à partir d’un navigateur Internet.

Les bases de données Web nécessitent de disposer d’un serveur SharePoint et d’installer le composant Access Services.

Dès lors, chaque table Access sera transformée en liste SharePoint et les enregistrements deviennent des éléments de listes.

Le contrôle d’accès à vos bases de données Web se fait alors sur la base des autorisations SharePoint.