Importation de données Access vers Excel à partir d'Excel

Bonjour,

J’aimerais pouvoir à partir d’un fichier Excel lancer une macro qui permettrait de récupérer des informations d’un fichier Access.

Pourtant, sur internet, je ne trouve que des macros permettant d’exporter les informations d’Access vers Excel, donc via un bouton vba situé dans la base de données Access. Or je préférerais que ce bouton soit situé dans le fichier excel sur lequel je souhaite ensuite travailler.

Malheureusement, je ne comprends pas grand-chose aux codes trouvés, et j’ai beaucoup de mal à l’adapter en fonction.

Quelqu’un pourrait-il m’aider ou même me renvoyer vers un lien répondant à ma question ?

Je vous remercie,

grm

bonsoir,

selon moi il n'est pas nécessaire d'avoir un bouton. une fois que l'on a déterminé la db access et les données que l'on souhaite, les données sont importées dans excel. on peut utiliser le bouton "refresh" (actualiser dans la version FR ?), pour actualiser les données.

peut-être ai-je mal compris l'essence de la demande ?

Bonjour h2so4,

Je vous avoue que je débute vraiment en Access.

Concrètement, je voudrais pouvoir faire passer mes données Access dans un fichier excel, les traiter (avec un code VBA), puis les refaire passer dans ma base Access une fois traitées.

J'aurais aimé pouvoir faire cela en un seul code vba, et un seul clic sur un bouton à partir du fichier Excel. Mais si je dois le faire en deux trois clics (un pour l'importation, l'autre pour le traitement, et le dernier pour l'exportation), cela ne me pose pas non plus de problème.

S'il existe déjà un moyen de le faire sans passer par un code lourd, j'en serais content.

Une exportation d'un fichier Access vers Excel peut se faire manuellement, je le sais (même si en pratique, il va falloir que je regarde comment importer plusieurs tables, leur liaison éventuelle, et certaines colonnes seulement : faut-il que je passe nécessairement par une requête ?).

Je ne vois pas de bouton refresh dans le fichier excel que j'ai créé ainsi (à partir d'une table "test"), Où se trouverait-il ?

Enfin, existerait-il une possibilité de faire la même chose du fichier Excel vers le fichier Access (en préparamétrant manuellement le remplissage des champs) ?

Merci beaucoup,

grm

grm a écrit :

Bonjour h2so4,

Je ne vois pas de bouton refresh dans le fichier excel que j'ai créé ainsi (à partir d'une table "test"), Où se trouverait-il ?

Merci beaucoup,

grm

le bouton refresh (actualiser ?) se trouve dans le menu Data (données ?), connections (connexions ?)

Bonjour,

J'ai réussi à créer un lien avec une table, et pouvoir l'utiliser par la méthode suivante:

Je suis allé dans le fichier Excel/Data/From Access , j'ai pu ensuite pointer le fichier Access voulu, et la table voulue. Par la suite, il me suffit de cliquer toujours dans le fichier Excel/Data sur l'icône Refresh pour actualiser la table (à condition que celle-ci ne soit pas déjà ouverte).

Merci donc à vous,

Pour autant, je n'ai exporté là qu'une seule table. Le seul moyen que j'exporte les champs voulus est de créer une requête dans Access et d'exporter les champs de la requête dans Excel ? (qu'en est-il alors des champs cachés dans la requête Access ? Sont-ils également exportés ?)

Y aurait-il une possibilité de faire l'opération inverse ? C'est à dire d'exporter manuellement les informations du fichier Excel vers le fichier Access ?

Merci encore,

grm

grm a écrit :

Bonjour,

Pour autant, je n'ai exporté là qu'une seule table. Le seul moyen que j'exporte les champs voulus est de créer une requête dans Access et d'exporter les champs de la requête dans Excel ? (qu'en est-il alors des champs cachés dans la requête Access ? Sont-ils également exportés ?)

il existe une possibilité via msquery (disponible via dans le même menu via autre source de données, tu recevras un interface graphique te permettant de construire ta requête recherchant de l'info dans plusieurs table.

grm a écrit :

Y aurait-il une possibilité de faire l'opération inverse ? C'est à dire d'exporter manuellement les informations du fichier Excel vers le fichier Access ?

grm

c'est sans doute possible, également via msquery, mais il te faudra introduire manuellement la syntaxe SQL correcte pour faire les mises à jour dans les bonnes tables, car l'interface graphique de msquery ne permet pas ce genérer des requêtes de ce type.

il doit également y avoir des possibilités d'importer des données excel via un menu dans access.

Bonjour,

Je regarde les fonctionnalités de MsQuery dès que possible. Connaîtriez-vous un bon tutoriel sur ce sujet (plus spécifiquement d'une base Access à une base Excel ?) ?

Merci pour la piste !

Bonjour,

je n'ai pas de tuto à te conseiller, Peut-être quelqu'un d'autre sur le forum ?

Salut, j'ai trouvé un début de réponse, à voir si intéressant :

Bonjour psdi,

Salut, j'ai trouvé un début de réponse, à voir si intéressant :

... 95095.aspx

Malheureusement, j'avais déjà vu ce lien. Il explique simplement comment importer des données Excel vers une table Access.

Les données que je souhaite exporter et importer sont stockées dans plusieurs tables Access.

Une des solutions seraient de tout importer, puis de traiter les colonnes par du vba (en créant soit même les jointures, les filtres sur les colonnes redondantes...), mais dans ce cas je ne vois plus bien l'intérêt d'Access.

grm

Bonjour,

h2so4 a écrit :
grm a écrit :

grm

c'est sans doute possible, également via msquery, mais il te faudra introduire manuellement la syntaxe SQL correcte pour faire les mises à jour dans les bonnes tables, car l'interface graphique de msquery ne permet pas ce genérer des requêtes de ce type.

il doit également y avoir des possibilités d'importer des données excel via un menu dans access.

Suite à votre réponse, j'ai réussi à importer les données de Access vers Excel, à partir de mon fichier Excel. MsQuery permet effectivement de sélectionner ce qu'on importe et son utilisation est aisée.

Merci pour le conseil.

Pour autant, celui-ci ne semble permettre seulement que d'importer les données sur Excel. Je voudrais également être capable de les exporter. Quelqu'un aurait-il la solution ? (que ce soit via un code vba/sql, ou un outil déjà programmé comme MSQUERY)

Merci d'avance !

Bonjour,

J'ai développé une application qui récupère les données dans une base access.

Il faut la référence "Microsoft DAO xx.xx Object Library"

Public dbs As Database

Dim cmd As String

Dim enreg As Recordset

cmd = "SELECT rep_networkTrends, rep_export_images, rep_rapports FROM options;"

Set dbs = OpenDatabase(PATH_REPORTER + "FreeReporter.mdb")

Set enreg = dbs.OpenRecordset(cmd)

If enreg.AbsolutePosition <> -1 Then

enreg.MoveLast

enreg.MoveFirst

cheminDatas = enreg.Fields("rep_networkTrends").Value

En espérant que celà vous aide

Christophe


J'ai de mon coté une question

Je suis avec Excel 2007 et je recherche un composant "grille de données" permettant d'afficher les données d'une base de données.

Avec Excel 97 j'utilise MSFlexGrid ou Data Bound Grid, mais avec Excel 2007 (win 7 64 bits) je charge le fichier ocx avec les références mais le contrôle n'est pas visible.

Je ne trouve aucune information ni exemple sur le net

Avez vous des idées ?

Merci

Christophe

Bonsoir,

Ci-joint un exemple Excel qui envoie des requêtes (lecture et écriture) dans une base Access.

En allant plus loin, on peut mettre en place des formulaires (UserForm) => Excel devient une véritable application, que l'on connecte à la base ACCESS. Et on gère les recherches (SELECT avec jointures complexes éventuellement), ajouts (INSERT), modifications (UPDATE), suppressions (DELETE). Toutes les requêtes sont écrites en VBA dans Excel. Nécessite une bonne maîtrise du SQL selon la complexité des requêtes .

Si tu souhaites des exemples, c'est possible !

Bonne soirée

Bouben

128excelaccess-2.xlsm (31.73 Ko)
76basepersonne.zip (7.40 Ko)

Bonjour Bouben

Merci pour cet exemple intéressant.

Mon problème se situe pour l'installation de l'ocx msflexgrid et dbdatagrid.

Les références apparaissent dans la boite des références mais n'apparaissent comme contrôles supplémentaires.

Je n'ai trouvé aucune information sur internet qui explique la raison et aucun exemple.

L'application que je dois réalisé doit compléter une grille de données dans un userform et non dans la feuille Excel.

Il s'agit de mon sujet de stage

Christophe

Bonjour à tous,

Une piste :

Pour des soucis de portabilité, je n'utilise plus de contrôles dits "complémentaires", et pour présenter des listes de data, je me suis créé mon propre contrôle un "Listdata", en fait de simples textbox regroupés.

Ca permet une belle présentation avec même des "MFC" si besoin, une multi-sélection de lignes, du scrolling horizontal et vertical, ...

Voir exemple joint :

la grille est complétée avec des données via du sql qui interroge le fichier xlsm lui-même, mais il est simple de modifier le requêteur pour interfacer avec du accdb ou foxpro ou dbf, ou autre (changer juste le driver)

Pierre

pierrep56 a écrit :

Bonjour à tous,

Une piste :

Pour des soucis de portabilité, je n'utilise plus de contrôles dits "complémentaires", et pour présenter des listes de data, je me suis créé mon propre contrôle un "Listdata", en fait de simples textbox regroupés.

Ca permet une belle présentation avec même des "MFC" si besoin, une multi-sélection de lignes, du scrolling horizontal et vertical, ...

Voir exemple joint : la grille est complétée avec des données via du sql qui interroge le fichier xlsm lui-même, mais il est simple de modifier le requêteur pour interfacer avec du accdb ou foxpro ou dbf, ou autre (changer juste le driver)

Pierre

Bonjour Pierre

Ton exemple est en effet sympa et joli visuellement.

3 questions :

  • est ce que la grille s'ajuste automatiquement en longueur et largeur selon les données ?
  • est ce qu'il est possible de modifier l'enregistrement en bdd suite à la saisie dans la grille ? modification d'une donnée ou création d'une nouvelle ligne
  • as tu une idée de tenue de charge ? As tu des retours de (gros) 'utilisateurs ? il y a beaucoup de boucles de calcul

Christophe

Ok Christophe,

Pour le code : dans l'exemple le code est un peu alambiqué car ça "tire un peu dans les coins" pour la démo. Pour un usage plus courant, le code peut être fortement simplifié.

Pour les retours, j'ai utilisé cette méthode dernièrement pour :

* une appli de gestion de flux d'un aéroport régional : ils sont plus que satisfaits

* une appli de réservation hôtelière (plus de 200 chambres) : ils ont re-signé pour une 2ème appli ...

* une appli de gestion de compétitions pour une fédération sportive : ils ont imposé l'appli pour toutes leurs épreuves régionales et nationales ...

Pour ajuster la grille et pour les interactions avec la BDD, il suffit d'ajouter le code qui va bien et tu en fait ce que tu veux.

Pierre

Bonjour,

Personne n'a d'exemple avec l'utilisation d'un ocx de grille de données ?

Christophe

Rechercher des sujets similaires à "importation donnees access partir"