Remarque : Microsoft Access ne prend pas en charge l’importation de données Excel avec une étiquette de confidentialité appliquée. Pour contourner ce problème, vous pouvez supprimer l’étiquette avant l’importation, puis la réappliquer après l’importation. Pour plus d’informations, voir Appliquer des étiquettes de confidentialité à vos fichiers et e-mails dans Office.
Vous pouvez reprendre les données d’un classeur Excel dans des bases de données Access de plusieurs façons. Par exemple, vous pouvez copier les données d’une feuille de calcul ouverte pour les coller dans une feuille de données Access, importer une feuille de calcul dans une table nouvelle ou existante, ou attacher une feuille de calcul à une base de données Access.
Cet article explique en détail comment importer ou attacher des données Excel à partir de bases de données de bureau Access.
Que voulez-vous faire ?
Présentation de l’importation des données à partir d’Excel
Si votre objectif consiste à stocker certaines ou toutes vos données à partir d’une ou plusieurs feuilles de calcul Excel dans Access, vous devez importer le contenu des feuilles de calcul dans une base de données Access nouvelle ou existante. Lorsque vous importez des données, Access crée une copie des données dans une table nouvelle ou existante sans modifier la feuille de calcul Excel source.
Scénarios courants d’importation de données Excel dans Access
-
Vous utilisez Excel depuis longtemps, mais vous souhaitez à l’avenir utiliser Access pour manipuler vos données. Pour ce faire, vous voulez transférer les données de vos feuilles de calcul Excel dans une ou plusieurs nouvelles bases de données Access.
-
Votre service ou groupe de travail utilise Access, mais vous recevez parfois des données au format Excel qui doivent être fusionnées avec vos bases de données Access. Vous souhaitez importer ces feuilles de calcul Excel dans votre base de données à mesure que vous les recevez.
-
Vous utilisez Access pour gérer vos données, mais les états hebdomadaires que vous recevez de votre équipe sont des classeurs Excel. Vous cherchez à rationaliser le processus d’importation pour vous assurer que les données sont importées dans votre base de données chaque semaine à heure précise.
Si vous importez des données à partir d’Excel pour la première fois
-
Il est impossible d’enregistrer un classeur Excel en tant que base de données Access. Excel n’intègre en effet aucune fonctionnalité pour créer une base de données Access à partir de données Excel.
-
Lorsque vous ouvrez un classeur Excel dans Access (dans la boîte de dialogue Ouvrir, dans la zone de liste Type de fichiers, choisissez Fichiers Microsoft Office Excel, puis sélectionnez le fichier souhaité), Access crée une liaison vers le classeur au lieu d’en importer les données. L’établissement d’une liaison vers un classeur ne revient pas du tout à une importation d’une feuille de calcul dans une base de données. Pour plus d’informations sur l’établissement de liaisons, voir la section Attacher des données dans Excel plus loin dans cet article.
Importer des données à partir d’Excel
Les étapes de cette section expliquent comment préparer et exécuter une opération d’importation, et comment enregistrer les paramètres d’importation comme spécification pour une réutilisation ultérieure. Pendant la procédure, rappelez-vous 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 fois.
Préparer la feuille de calcul
-
Recherchez le fichier source et sélectionnez la feuille de calcul qui contient les données à importer dans Access. Si vous souhaitez n’importer qu’une partie de cette feuille, vous pouvez définir une plage nommée ne comprenant que les cellules à importer.
Définir une plage nommée (facultatif)-
Basculez dans Excel et ouvrez la feuille de calcul qui contient les données à importer.
-
Sélectionnez la plage de cellules qui contiennent les données à importer.
-
Cliquez avec le bouton droit dans la plage sélectionnée, puis cliquez sur Nommer une plage ou Définir un nom.
-
Dans la boîte de dialogue Nouveau nom, attribuez-lui un nom dans la zone Nom, puis cliquez sur OK.
Notez que vous ne pouvez importer qu’une seule feuille de calcul à la fois. Pour en importer plusieurs, vous devez répéter l’opération pour chacune d’entre elles.
-
-
Passez en revue les données sources et effectuez l’action appropriée décrite dans le tableau suivant.
Élément
Description
Nombre de colonnes
Le nombre de colonnes sources à importer ne peut pas dépasser 255, car Access ne prend pas en charge plus de 255 champs d’une table.
Colonnes et lignes ignorées
Il s’avère souvent judicieux de n’inclure que les lignes et colonnes à importer pour la feuille de calcul ou la plage nommée source.
lignes Vous ne pouvez pas filtrer ou ignorer des lignes lors de l’importation.
Colonnes Vous ne pouvez pas ignorer des colonnes pendant l’opération si vous choisissez d’ajouter les données à une table existante.
Format tabulaire
Assurez-vous que les cellules sont au format tabulaire. Si la feuille ou la plage nommée comprend des cellules fusionnées, leur contenu sera placé dans le champ correspondant à la colonne la plus à gauche et les autres champs sont laissés vides.
Colonnes, lignes et cellules vides
Supprimez toutes les colonnes et lignes vides inutiles dans la feuille de calcul ou la plage considérée. S’il y a des cellules vides, essayez d’ajouter les données manquantes. Si vous envisagez d’ajouter les enregistrements à une table existante, assurez-vous que le champ correspondant dans la table accepte les valeurs Null (c’est-à-dire manquantes ou inconnues). Un champ accepte les valeurs Null si sa propriété Null interdit a pour valeur Non et que le paramétrage de sa propriété Valide si n’interdit pas ces valeurs.
Valeurs d’erreur
Si une ou plusieurs cellules de la feuille de calcul ou de la plage contiennent des valeurs d’erreur (telles que #NOMBRE! ou #DIV/0!), corrigez-les avant de lancer l’importation. Si une feuille de calcul ou une plage source contient des valeurs d’erreur, Access place une valeur Null dans les champs correspondants de la table. La section Corriger les valeurs manquantes ou incorrectes, plus loin dans cet article, contient plus d’informations sur les moyens de corriger ces erreurs.
Type de données
Pour éviter les erreurs lors de l’importation, vérifiez que chaque colonne source contient le même type de données dans chaque ligne. Access analyse les huit premières lignes sources pour déterminer le type de données des champs de la table. Nous vous recommandons vivement de vous assurer que les huit premières lignes sources ne mélangent pas de valeurs de différents types de données dans les colonnes. Dans le cas contraire, Access risque de ne pas affecter le type de données approprié à la colonne.
Il est également judicieux de mettre en forme chaque colonne source dans Excel et d’affecter un format de données à chaque colonne avant de lancer l’importation. Cette mise en forme est fortement recommandée si une colonne contient des valeurs de différents types. Par exemple, la colonne NumVol d’une feuille de calcul peut inclure des valeurs aussi bien numériques que textuelles, telles que 871, AA90 et 171. Pour éviter que des valeurs viennent à manquer ou soient incorrectes, procédez comme suit :
-
Cliquez avec le bouton droit sur l’en-tête de colonne, puis cliquez sur Format de cellule.
-
Dans l’onglet Nombre, sous la section Catégorie, sélectionnez un format. Dans le cas de la colonne NumVol, il est préférable de choisir Texte.
-
Cliquez sur OK.
Si les colonnes sources sont mises en forme mais contiennent des valeurs mixtes au-delà de la huitième ligne, l’importation risque d’ignorer ou de convertir incorrectement des valeurs. Pour obtenir des informations de dépannage, voir la section Corriger les valeurs manquantes ou incorrectes.
Première ligne
Si la première ligne de la feuille de calcul ou de la plage nommée contient le nom des colonnes, vous pouvez indiquer à Access de considérer les données de la première ligne comme nom de champ pendant l’importation. Si la feuille de calcul ou plage source ne contient pas ces noms, il peut s’avérer judicieux de les ajouter à la source avant de lancer l’importation.
Remarque : Si vous envisagez d’ajouter les données à une table existante, assurez-vous que le nom de chaque colonne suit exactement celui du champ correspondant. Si le nom d’une colonne diffère de celui du champ de la table, l’importation échoue. Pour connaître le nom des champs, ouvrez la table en mode Création dans Access.
-
-
Fermez le classeur source s’il est ouvert. En effet, si vous le laissez ouvert, vous risquez d’engendrer des erreurs de conversion de données au cours de l’importation.
Préparer la base de données destination
-
Ouvrez la base de données Access où les données importées doivent être stockées. Assurez-vous que la base de données n’est pas en lecture seule et que vous êtes autorisé à y effectuer des modifications.
- ou -
Si vous ne voulez pas stocker ces données dans une base de données existante, créez-en une vide. Pour le faire :
Cliquez sur l’onglet Fichier, sur Nouveau, puis sur Base de données vide.
-
Avant de lancer l’importation, décidez si vous souhaitez stocker les données dans une table nouvelle ou existante.
Créer une table 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 une table porte déjà le nom spécifié, Access remplace le contenu de la table existante par les données importées.
Ajouter à une table existante 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.
Il est important de souligner que la plupart des échecs se produisant lors d’opérations d’ajout sont provoqués par des données sources ne correspondant pas à la structure de la table de destination et au paramétrage des champs de cette dernière. Pour éviter cela, ouvrez la table en mode Création et passez les éléments suivants en revue :
-
Première ligne Si la première ligne de la feuille de calcul ou de la plage nommée source ne contient pas d’en-têtes de colonne, assurez-vous que l’ordre et le type de données de chaque colonne sont les mêmes que ceux des champs correspondants dans la table. Si la première ligne contient des en-têtes de colonne, l’ordre des colonnes et des champs importe peu, mais le nom et le type de données de chaque colonne doivent être exactement identiques à ceux du champ correspondant.
-
Champs manquants ou supplémentaires Si des champs ne se trouvent pas dans la table, ajoutez-les avant de lancer l’importation. Si, à l’inverse, la table contient des champs manquants dans la source, vous ne devez pas les supprimer de la table s’ils acceptent les valeurs Null.
Conseil : Un champ accepte les valeurs Null si sa propriété Null interdit a pour valeur Non et que le paramétrage de sa propriété Valide si n’interdit pas ces valeurs.
-
Clé primaire Si la table contient un champ de clé primaire, la feuille de calcul ou plage source doit comporter une colonne contenant des valeurs compatibles avec le champ de clé primaire et les valeurs de clé importées doivent être uniques. Si un enregistrement importé contient une valeur de clé primaire se trouvant déjà dans la table de destination, l’importation affiche un message d’erreur.
-
Champs indexés Si la propriété Indexé d’un champ issu de la table a pour valeur Oui - Sans doublons, la colonne correspondante de la feuille de calcul ou plage source doit contenir des valeurs uniques.
Passez aux étapes suivantes pour exécuter l’opération d’importation.
-
Démarrer l’opération d’importation.
-
L’emplacement de l’Assistant Importation/Attache varie en fonction de la version d’Access. Choisissez la procédure correspondant à votre version d’Access :
-
Si vous utilisez la dernière version du Microsoft 365, Access 2021 ou Access 2019, sous l’onglet Données externes , dans le groupe Importer & lien , cliquez sur Nouvelle source de données > À partir d’un fichier > Excel.
-
Si vous utilisez Access 2016, sous l’onglet Données externes , dans le groupe Importer & lien , cliquez sur Excel.
Remarque : L’onglet Données externes n’est disponible que si une base de données est ouverte.
-
-
Dans 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.
- ou -
Cliquez sur Parcourir et utilisez la boîte de dialogue Ouvrir pour localiser le fichier que vous souhaitez importer.
-
Indiquez comment vous voulez stocker les données importées.
Pour stocker les données dans une nouvelle table, sélectionnez Importer les données sources dans une nouvelle table de la base de données active. Vous serez amené à attribuer un nom à cette table ultérieurement.
Pour ajouter les données à une table existante, sélectionnez Ajouter une copie des enregistrements à la table et choisissez une table dans la liste déroulante. Cette option n’est pas disponible si la base de données ne contient pas de tables.
Pour attacher la source de données en créant une table liée, voir la section Attacher des données dans Excel plus loin dans cet article.
-
Cliquez sur OK.
L’Assistant Importation de feuille de calcul démarre et vous guide tout au long du processus d’importation. Passez au groupe d’étapes suivant.
Utiliser l’Assistant Importation de la feuille de calcul
-
Sur la première page de l’Assistant, sélectionnez la feuille de calcul qui contient les données à importer. Cliquez ensuite sur Suivant.
-
Sur la seconde page de l’Assistant, cliquez sur Afficher les feuilles de calcul ou Afficher les plages nommées, sélectionnez la feuille de calcul que vous importez ou la plage nommée puis cliquez sur Suivant.
-
Si la première ligne de la feuille de calcul ou de la plage source contient le nom des champs, sélectionnez l’option Première ligne contient les en-têtes de colonnes, puis cliquez sur Suivant.
Si vous importez les données dans une nouvelle table, Access s’appuie sur l’en-tête de ces colonnes pour attribuer le nom des champs de la table. Vous pouvez modifier ces noms pendant ou après l’importation. Si vous ajoutez les données à une table existante, assurez-vous que les en-têtes de colonne dans la feuille de calcul source correspondent exactement aux noms des champs de la table de destination.
Si vous ajoutez des données à une table existante, passez directement à l’étape 6. Si les données sont ajoutées à une nouvelle table, exécutez les étapes restantes.
-
L’Assistant vous demande de passer en revue les propriétés des champs. Pour ce faire, cliquez sur l’une des colonnes dans la moitié inférieure de l’écran pour afficher les propriétés des champs correspondants. Consultez et modifiez le cas échéant le nom et le type de données du champ de destination.
-
Consultez et modifiez le cas échéant le nom et le type de données du champ de destination.
Access analyse les huit premières lignes de chaque colonne pour suggérer le type de données du champ correspondant. Si la colonne de la feuille de calcul contient différents types de valeurs (par exemple du texte et des nombres), l’Assistant propose un type de données compatible avec toutes les valeurs de la colonne considérée ; dans la plupart des cas, il s’agit du type Texte. Bien que vous puissiez choisir un autre type de données, 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. Pour plus d’informations sur la correction de valeurs manquantes ou incorrectes, voir la section Corriger les valeurs manquantes ou incorrectes plus loin dans cet article.
-
Pour créer un index portant sur le champ, définissez Indexé sur Oui.
-
Pour ignorer une colonne source toute entière, activez la case à cocher Ne pas importer le champ (sauter).
Cliquez sur Suivant une fois les options sélectionnées.
-
-
Si les enregistrements sont ajoutés à une nouvelle table, l’Assistant vous demande de spécifier une clé primaire pour la table. Si vous sélectionnez Laisser Access ajouter une clé primaire, Access ajoute un champ NuméroAuto correspondant au premier champ de la table de destination et le remplit automatiquement de valeurs d’identification uniques en partant de 1. Cliquez ensuite sur Suivant.
-
Sur l’ultime écran de l’Assistant, spécifiez un nom pour la table de destination. Dans la zone Importer vers la table, attribuez un nom à cette dernière. Si une table porte déjà ce nom, Access vous demande si vous souhaitez remplacer le contenu existant de la table. Cliquez sur Oui pour continuer ou sur Non pour spécifier un autre nom pour la table de destination, puis cliquez sur Terminer pour importer les données.
Si Access est parvenu à importer tout ou une partie des données, l’Assistant affiche une page indiquant l’état de l’opération d’importation. De plus, vous pouvez enregistrer les détails de l’opération sous forme de spécification en vue de les réutiliser ultérieurement. À l’inverse, si l’opération échoue complètement, Access affiche le message d’erreur suivant : Une erreur est survenue lors de l’importation du fichier.
-
Cliquez sur Oui pour enregistrer les détails de l’opération en vue d’une utilisation future. Vous pourrez ainsi répéter l’opération sans repasser à chaque fois par les étapes de l’Assistant.
Pour plus d’informations sur l’enregistrement des détails d’une spécification, voir Enregistrer les détails d'une opération d’importation ou d’exportation en tant que spécification.
Pour plus d’informations sur l’exécution de vos spécifications d’importation ou de liaison enregistrées, voir Exécuter une spécification d’importation ou d’exportation enregistrée.
Pour plus d’informations sur la planification de l’exécution des tâches d’importation et de liaison à des horaires spécifiques, voir Planifier une spécification d’importation ou d’exportation.
Corriger les valeurs manquantes ou incorrectes
Si le message Une erreur est survenue lors de l’importation du fichier s’affiche, l’opération d’importation a complètement échoué. À l’inverse, si l’importation entraîne l’affichage d’une boîte de dialogue vous demandant d’enregistrer les détails de l’opération, le processus aura été en mesure d’importer tout ou partie des données. Aussi, le message d’état mentionne le nom de la table du journal des erreurs qui contient la description de toute erreur s’étant produite lors de l’importation.
Important : Sachez que même si le message d’état indique le succès total de l’opération, vous devez passer en revue le contenu et la structure de la table pour vous assurer que tout semble correct avant d’utiliser la table.
-
Ouvrez la table de destination en mode Feuille de données pour voir si toutes les données ont été ajoutées à la table.
-
Ouvrez la table en mode Création pour vérifier le type de données et le paramétrage des autres propriétés des champs.
Le tableau suivant décrit les étapes éventuelles pour corriger des valeurs manquantes ou incorrectes.
Conseil : Lorsque vous corrigez les résultats, si vous ne trouvez que quelques valeurs manquantes, vous pouvez les ajouter manuellement à la table. En revanche, si vous trouvez que des colonnes entières ou un volume important de valeurs sont manquants ou n’ont pas été importés correctement, corrigez plutôt le problème dans le fichier source. Une fois tous les problèmes connus résolus, répétez l’opération d’importation.
Problème |
Résolution |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Éléments graphiques |
Les éléments graphiques, tels que des logos, graphiques et images, ne peuvent pas être importés. Dans ce cas, ajoutez-les manuellement à la base de données après l’importation. |
||||||||||||
Valeurs calculées |
Les résultats d’une colonne ou de cellules calculées sont importés, mais pas les formules sous-jacentes. Au cours de l’importation, spécifiez un type de données compatible avec les résultats des formules, par exemple le type Nombre. |
||||||||||||
Valeurs Vrai ou Faux et valeurs – 1 ou 0 |
Si la feuille de calcul ou plage source inclut une colonne ne contenant que des valeurs Vrai ou Faux, Access crée un champ Oui/Non correspondant à la colonne et y insère des valeurs – 1 ou 0. Par contre, si la feuille de calcul ou plage source contient une colonne constituée uniquement de valeurs – 1 ou 0, Access crée par défaut un champ numérique correspondant à cette colonne. Vous pouvez changer de type de données du champ en type Oui/Non lors du processus d’importation pour éviter ce problème. |
||||||||||||
Champs à valeurs multiples |
Si vous importez des données dans une nouvelle table ou les ajoutez à une table existante, Access n’active pas de prise en charge des valeurs multiples dans un champ, même si la colonne source contient une liste de valeurs séparées par des points-virgules (;). Cette liste est alors considérée comme une seule valeur et est placée dans un champ de type Texte. |
||||||||||||
Données tronquées |
Si des données semblent tronquées dans une colonne de la table Access, élargissez la colonne en mode Feuille de données. Si cela ne résout pas le problème, les données d’une colonne numérique issue d’Excel sont trop volumineuses pour tenir dans le champ de destination dans Access. Par exemple, la propriété TailleChamp du champ de destination peut être définie sur Octet dans une base de données Access, alors que les données sources contiennent une valeur supérieure à 255. Corrigez les valeurs dans le fichier source et retentez l’importation. |
||||||||||||
Format d’affichage |
Vous pourriez être amené à définir la propriété Format de certains champs en mode Création pour vous assurer que les valeurs s’affichent correctement en mode Feuille de données. Par exemple :
Remarque : Si la feuille de calcul source contient une mise en forme RTF (p. ex. : du texte souligné, en gras ou en italique), le texte est importé, mais sa mise en forme est perdue. |
||||||||||||
Doublons (erreur de violation de clé) |
Les enregistrements que vous importez peuvent contenir des doublons qui ne doivent pas être stockés dans le champ de clé primaire de la table de destination ou dans un champ dont la propriété Indexé a pour valeur Oui - Sans doublons. Éliminez dans ce cas les doublons se trouvant dans le fichier source et retentez l’importation. |
||||||||||||
Valeurs de date différées de quatre ans |
Les champs de date importés d’une feuille de calcul Excel peuvent présenter un décalage de quatre ans. Excel pour Windows peut utiliser deux systèmes de date :
Vous pouvez définir le système de dates dans Options Excel : Options de> de fichiers> système de dates Avancé > Utiliser 1904. Remarque Si vous importez à partir d’un classeur .xlsb, il utilise toujours le système de dates 1900, quel que soit le paramètre Système de dates. Ainsi, avant d’importer les données, modifiez le système de dates du classeur Excel ou, après avoir ajouté les données, effectuez une requête de mise à jour utilisant l’expression [nom_champ_date] + 1462 pour corriger les dates. Excel pour Macintosh utilise uniquement le système de date 1904. |
||||||||||||
Valeurs Null |
Un message d’erreur peut s’afficher à la fin de l’importation concernant des données qui auraient été supprimées ou perdues pendant l’opération, ou lorsque vous ouvrez la table en mode Feuille de données, certaines valeurs de champ peuvent être vides. Si les colonnes sources dans Excel ne sont pas mises en forme ou que les huit premières lignes sources contiennent des valeurs de types différents, ouvrez la feuille de calcul source et procédez comme suit :
Les étapes précédentes peuvent contribuer à réduire la génération de valeurs Null. Le tableau suivant répertorie des cas où l’on retrouve néanmoins des valeurs Null :
|
||||||||||||
Valeurs de date remplacées par des valeurs numériques |
Vous pouvez constater des nombres apparemment aléatoires à cinq chiffres au lieu des valeurs de date réelle dans les situations suivantes :
|
||||||||||||
Valeurs numériques remplacées par des valeurs de date |
Vous pouvez constater des valeurs de date apparemment aléatoires au lieu des valeurs numériques prévues dans les situations suivantes :
Pour éviter cela, remplacez les valeurs numériques par des valeurs de date dans la colonne source, puis relancez l’importation. |
Il pourrait s’avérer en outre judicieux de consulter la table du journal des erreurs (mentionnée dans la dernière page de l’Assistant) en mode Feuille de données. La table comporte trois champs : Erreur, Champ et Ligne. Chaque ligne contient les informations sur une erreur spécifique et le contenu du champ Erreur devrait vous aider à résoudre le problème.
Liste de chaînes d’erreur et conseils de dépannage
Erreur |
Description |
---|---|
Champ tronqué |
Une valeur du fichier dépasse les limites de capacité autorisées par le paramètre de la propriété TailleChamp de ce champ. |
Échec de conversion de type |
Une valeur de la feuille de calcul possède un type de données inapproprié pour le champ en question. Elle peut être manquante ou sembler incorrecte dans le champ de destination. Pour plus d’informations sur la résolution de ce type de problème, voir le tableau précédent. |
Violation de clé |
La valeur de la clé primaire de cet enregistrement est un doublon (elle existe déjà dans la table). |
Échec de la règle de validation |
Une valeur enfreint la règle définie à l’aide de la propriété ValideSi de ce champ ou de la table. |
Null dans un champ requis |
Une valeur de type Null n’est pas autorisée dans ce champ parce que la propriété Null interdit du champ a pour valeur Oui. |
Null dans un champ NuméroAuto |
Les données que vous importez contiennent une valeur de type Null que vous essayez d’ajouter à un champ NuméroAuto. |
Enregistrement insécable |
Une valeur de texte contient le caractère de délimitation de texte (généralement des guillemets doubles). Chaque fois qu’une valeur contient ce caractère, il doit être indiqué deux fois dans le fichier texte, par exemple : 4 1/2"" diameter |
Attacher des données dans Excel
Vous pouvez utiliser les outils de requête et de création d’états offerts par Access sans devoir conserver une copie des données Excel dans votre base de données en liant une base de données Access aux données d’un autre programme.
Lorsque vous attachez une feuille de calcul ou une plage nommée Excel, Access crée une table liée aux cellules sources. Toute modification apportée à ces cellules dans Excel se retrouve ainsi dans la table liée. Vous ne pouvez cependant pas modifier le contenu de la table correspondante dans Access. Si vous souhaitez ajouter, modifier ou supprimer des données, vous devez travailler dans le fichier source.
Scénarios courants pour attacher une feuille de calcul Excel à partir d’Access
Vous créez généralement un lien vers une feuille de calcul Excel (au lieu d’importer) pour les raisons suivantes :
-
Vous voulez conserver vos données dans des feuilles de calcul Excel tout en bénéficiant des fonctionnalités d’Access en matière d’élaboration de requêtes et d’états.
-
Votre service ou groupe de travail utilise Access mais les données de sources externes que vous manipulez se trouvent dans des feuilles de calcul Excel. Vous ne voulez pas maintenir des copies de ces données externes mais préférez pouvoir les exploiter dans Access.
Si vous attachez une feuille de calcul Excel pour la première fois
-
Vous ne pouvez pas attacher une base de données Access à partir d’Excel.
-
Lorsque vous attachez un fichier Excel, Access crée une table, souvent appelée table liée. Celle-ci affiche les données de la feuille de calcul ou plage nommée source mais ne les stocke en fait pas dans la base de données.
-
Vous ne pouvez pas attacher de données Excel à une table existante dans la base de données. En d’autres termes, vous ne pouvez pas ajouter des données à une table existante simplement en l’attachant.
-
Une base de données peut contenir plusieurs tables liées.
-
Toutes les modifications apportées aux données dans Excel sont automatiquement répercutées dans la table liée. Cependant, le contenu et la structure de cette dernière dans Access sont en lecture seule.
-
Lorsque vous ouvrez un classeur Excel dans Access (dans la boîte de dialogue Ouvrir, dans la zone de liste Type de fichiers, choisissez Fichiers Microsoft Office Excel, puis sélectionnez le fichier souhaité), Access crée une base de données vide et démarre automatiquement l’Assistant Attache de feuille de calcul.
Préparer les données Excel
-
Localisez le fichier Excel et la feuille de calcul ou la plage qui contient les données à attacher. Si vous ne souhaitez pas attacher l’intégralité de la feuille de calcul, vous pouvez définir une plage nommée ne comprenant que les cellules à attacher.
Créer une plage nommée dans Excel (facultatif – utile si vous ne voulez attacher que certaines des données de feuille)-
Basculez vers Excel et affichez la feuille de calcul dans laquelle vous voulez définir une plage nommée.
-
Sélectionnez la plage de cellules qui contiennent les données à attacher.
-
Cliquez avec le bouton droit dans la plage sélectionnée, puis cliquez sur Nommer une plage ou Définir un nom.
-
Dans la boîte de dialogue Nouveau nom, attribuez-lui un nom dans la zone Nom, puis cliquez sur OK.
Notez que vous ne pouvez attacher qu’une seule feuille de calcul ou plage à la fois. Pour attacher des données de plusieurs emplacements au sein d’un même classeur, répétez l’opération d’attache pour chaque feuille de calcul ou plage.
-
-
Passez en revue les données sources et effectuez l’action appropriée décrite dans le tableau suivant :
Élément
Description
Format tabulaire
Assurez-vous que les cellules sont au format tabulaire. Si la plage comprend des cellules fusionnées, leur contenu sera placé dans le champ correspondant à la colonne la plus à gauche et les autres champs sont laissés vides.
Colonnes et lignes ignorées
Vous ne pouvez pas ignorer de colonnes ou lignes sources pendant l’opération d’attache. En revanche, vous pouvez masquer des champs et filtrer les enregistrements en ouvrant la table liée en mode Feuille de données après leur importation dans Access.
Nombre de colonnes
Le nombre de colonnes sources ne peut pas dépasser 255, car Access ne prend pas en charge plus de 255 champs dans une table.
Colonnes, lignes et cellules vides
Supprimez toutes les colonnes et lignes vides inutiles dans la feuille de calcul ou la plage Excel considérée. S’il y a des cellules vides, tentez d’ajouter les données manquantes.
Valeurs d’erreur
Si des cellules d’une feuille de calcul ou d’une plage contiennent des valeurs d’erreur, corrigez-les avant de lancer l’importation. Notez que si une feuille de calcul ou plage source contient des valeurs d’erreur, Access insère une valeur Null dans les champs correspondants de la table.
Type de données
Vous ne pouvez pas changer le type de données ou la taille des champs composant la table liée. Avant de lancer l’opération d’attache, vous devez vérifier que chaque colonne contient des données d’un type spécifique.
Il est vivement recommandé d’appliquer un format de données à une colonne si elle contient des valeurs de différents types de données. Par exemple, la colonne NumVol d’une feuille de calcul peut inclure des valeurs aussi bien numériques que textuelles, telles que 871, AA90 et 171. Pour éviter que des valeurs viennent à manquer ou soient incorrectes, procédez comme suit :
-
Cliquez avec le bouton droit sur la colonne, puis cliquez sur Format de cellule.
-
Dans l’onglet Nombre, sous la section Catégorie, sélectionnez un format.
-
Cliquez sur OK.
Première ligne
Si la première ligne de la feuille de calcul ou de la plage nommée contient le nom des colonnes, vous pouvez indiquer à Access de considérer les données de la première ligne comme nom de champ pendant la procédure d’attache. Si aucun nom de colonne n’est précisé dans la feuille de calcul ou si le nom d’une colonne spécifique viole les règles d’appellation de champ dans Access, l’application affecte un nom valide à chaque champ correspondant.
-
-
Fermez le fichier source s’il est ouvert.
Préparer la base de données de destination
-
Ouvrez la base de données dans laquelle vous voulez créer l’attache. Assurez-vous qu’elle n’est pas en lecture seule et que vous êtes autorisé à y effectuer des modifications.
-
Si vous ne voulez pas stocker le lien dans une base de données existante, créez-en une vide : Cliquez sur l’onglet Fichier, sur Nouveau, puis sur Base de données vide.
Vous êtes maintenant prêt à lancer l’opération d’attache.
Créer le lien
-
L’emplacement de l’Assistant Importation/Attache varie en fonction de la version d’Access. Choisissez la procédure correspondant à votre version d’Access :
-
Si vous utilisez la dernière version de l’abonnement Microsoft 365 version d’Access, Access 2021 ou Access 2019, sous l’onglet Données externes , dans le groupe Importer & lien , cliquez sur Nouvelle source de données > À partir d’un fichier > Excel.
-
Si vous utilisez Access 2016 ou Access 2013, sous l’onglet Données externes, dans le groupe Importer & lien, cliquez sur Excel.
Remarque : L’onglet Données externes n’est disponible que si une base de données est ouverte.
-
-
Dans la boîte de dialogue Données externes - Feuille de calcul Excel, spécifiez le nom du fichier Excel qui contient les données à attacher, dans la zone Nom fichier.
-
Sélectionnez Lier à la source de données en créant une table liée, puis cliquez sur OK.
L’Assistant Attache de feuille de calcul démarre et vous guide tout au long du processus d’attache.
-
Sur la première page de l’Assistant, sélectionnez la feuille de calcul ou la plage nommée puis cliquez sur Suivant.
-
Si la première ligne de la feuille de calcul ou plage source contient le nom des champs, activez la case à cocher Première ligne contient les en-têtes de colonnes. Access utilise ces en-têtes de colonnes pour attribuer un nom aux champs dans la table. Si un des noms de colonne comporte certains caractères spéciaux, le nom ne peut pas être utilisé en tant que nom de champ dans Access. Dans ce cas, un message d’erreur vous informe qu’Access doit affecter un nom valide au champ. Cliquez sur OK pour continuer.
-
Dans la dernière page de l’Assistant, spécifiez un nom pour la table liée, puis cliquez sur Terminer. Si une table existante porte déjà ce nom, vous êtes invité à préciser si vous voulez remplacer la table ou requête existante. Cliquez sur Oui pour remplacer la table ou requête ou sur Non pour spécifier un autre nom.
Access tente de créer la table liée. Si l’opération réussit, un message du type La table a été attachée s’affiche. Ouvrez celle-ci et consultez les champs et les données pour vous assurer que vous y retrouvez bien les données voulues dans tous les champs.
Si vous rencontrez des valeurs d’erreur ou des données incorrectes, vous devez corriger les données sources. Pour plus d’informations sur la façon de corriger des valeurs incorrectes ou présentant des erreurs, voir la section suivante.
Corriger les valeurs « #NOMBRE! » et autres valeurs incorrectes dans une table liée
Même si le message La table a été attachée s’affiche, vous devez ouvrir la table en mode Feuille de données pour vous assurer que les lignes et colonnes comportent les bonnes données.
Si vous rencontrez des erreurs ou des données incorrectes dans la table, effectuez l’action qui s’impose d’après le tableau suivant, puis réessayez d’attacher les données. N’oubliez pas qu’il est impossible d’ajouter directement des valeurs dans la table liée car elle est en lecture seule.
Problème |
Résolution |
---|---|
Éléments graphiques |
Les éléments graphiques inclus dans une feuille de calcul Excel (tels que logos, graphiques et images) ne peuvent pas être attachés dans Access. |
Format d’affichage |
Vous pourriez être amené à définir la propriété Format de certains champs en mode Création pour vous assurer que les valeurs s’affichent correctement en mode Feuille de données. |
Valeurs calculées |
Les résultats d’une colonne ou de cellules calculées s’affichent dans le champ correspondant mais leur formule (ou expression) ne peut pas s’afficher dans Access. |
Valeurs de texte tronquées |
Augmentez la largeur de la colonne en mode Feuille de données. Si vous ne voyez toujours pas la valeur entière, cela peut être dû au fait que la valeur dépasse 255 caractères. Access ne peut lier qu’aux 255 premiers caractères. Vous devez donc importer les données au lieu de les lier. |
Message d’erreur relatif à un dépassement de champ numérique |
La table liée peut sembler correcte mais un message d’erreur Dépassement de champ numérique peut s’afficher ultérieurement lorsque vous exécutez une requête sur la table. Ce problème peut être dû à un conflit entre le type de données d’un champ issu de la table liée et le type des données enregistrées dans le champ correspondant. |
Valeurs Vrai/Faux et – 1/0 |
Si la feuille de calcul ou plage source inclut une colonne ne contenant que des valeurs Vrai ou Faux, Access crée un champ Oui/Non correspondant à la colonne de la table liée. Par contre, si la feuille de calcul ou plage source contient une colonne constituée uniquement de valeurs – 1 ou 0, Access crée par défaut un champ numérique correspondant à cette colonne et n’est pas en mesure de modifier le type du champ correspondant dans la table. Si vous désirez inclure un champ Oui/Non dans la table liée, assurez-vous que la colonne source inclut des valeurs Vrai et Faux. |
Champs à valeurs multiples |
Access ne permet pas de prise en charge de valeurs multiples dans un champ, même si la colonne source contient une liste de valeurs séparées par des points-virgules (;). Cette liste est alors considérée comme une seule valeur et est placée dans un champ de type Texte. |
#NOMBRE! |
Access affiche la valeur d’erreur #NOMBRE! au lieu des données d’un champ dans les cas suivants :
Effectuez les opérations suivantes afin de limiter le nombre de valeurs Null dans la table :
|
Valeurs numériques au lieu de valeurs de date |
Si vous constatez un nombre de cinq chiffres apparemment aléatoire dans un champ, vérifiez si la colonne source contient en majorité des valeurs numériques mais inclut également quelques valeurs de date. Ces dernières apparaissant dans des colonnes numériques entraînent en effet une conversion incorrecte des valeurs en nombres. Remplacez dans ce cas les valeurs de date par des valeurs numériques, puis réessayez d’attacher les données. |
Valeurs de date au lieu de valeurs numériques |
Si vous constatez une valeur de date apparemment aléatoire dans un champ, vérifiez si la colonne source contient en majorité des valeurs de date mais inclut également quelques valeurs numériques. Ces dernières apparaissant dans des colonnes de dates entraînent en effet une conversion incorrecte des valeurs en dates. Remplacez dans ce cas les valeurs numériques par des valeurs de date, puis réessayez d’attacher les données. |