Import Excel/ACCESS

pancratee

XLDnaute Nouveau
Bonjour à tous,

Je viens de créer une base de données sous ACCESS.

Les données enregistrées dans cette base de données sont effectuées à l'aide de formulaire.

Cependant je dois également faire en sorte d'intégrer des données que je reçois sous format EXCEL.

Je sais qu' ACCESS est capable d'importer des données au format EXCEL cependant il n'est apparament pas capable d'enregistrer les données d' EXCEL dans telle ou telle table de ma base de données ACCESS. En tout cas pas à ma connaissance. D'après l'importation que j'ai pu réaliser il ne créé qu'une seule table avec toutes les informations à l'intérieure.

Donc ma question est la suivante, j'aimerai savoir si à partir d'un document EXCEL et de manière automatique il est possible d'enregistrer ces données dans mes tables spécifiques de ma base de données ACCESS.

Merci à tous pour vos réponses.
 

JNP

XLDnaute Barbatruc
Re : Import Excel/ACCESS

Bonjour Pancratee et bienvenue :),
Je ne sais pas si cela va beaucoup t'aider, mais la version 2007 sur laquelle je travaille propose 3 choix d'importation : nouvelle table, ajout à une table existante ou création d'une table liée qui prends les modifications d'Excel.
Si les versions antérieures d'Access ne le font pas, jette un oeil du côté de l'insertion .txt ou .csv qui devrait être plus souple. Si c'est le cas, il suffira d'écrire une macro Excel séparant tes données pour en faire, soit plusieurs fichiers .txt, soit plusieurs .csv, puis une petite macro Access pour l'import automatisé.
Bon courage :cool:
 

pancratee

XLDnaute Nouveau
Re : Import Excel/ACCESS

Merci beaucoup pour ta réponse JNP.

J'ai bien la version 2007 d'ACCESS. ( je tiens à préciser que je suis débutant ... )

En ce qui concerne les macros je n'y connais rien, mais je pense qu'avec de la doc et un peu d'aide je pourrai m'en sortir.

Donc d'après toi avec ACCESS 2007 je vais pouvoir séparer les données directement à l'import et les trier dans mes différentes tables ?

Autrement à l'origine les données sont récoltées en .txt que je convertis en EXCEL.

D'après toi qu'elle est la solution la plus efficace et abordable pour un débutant d'arriver à mon objectif donc à savoir trier ces données et les intégrer dans telle ou telle table.

Merci encore !
 

JNP

XLDnaute Barbatruc
Re : Import Excel/ACCESS

Re :),
Je suis pas vraiment un spécialiste d'Access, je suis beaucoup plus Excel :eek:... Pour 2007, quand tu as une BDD ouverte avec des tables existantes, dans l'onglet "Données externes", tu as un icône Excel pour faire l'importation. Là, tu peux choisir la table où tu insères les données et choisir la feuille Excel de ton choix. Je pense par contre que les données de la feuille doivent être ordonnées de la même façon que la table. Ma méthode de travail serait donc plutôt d'injecter les .txt dans ton Excel (en macro par exemple). Ecrire une belle macro VBA pour trier et mettre en forme celles-ci avant import dans Access. Puis écrire une macro d'import sous Access. Le tout ne sera pas forcément facile pour un débutant, mais avec l'aide du forum, ce devrait être possible.
Bon courage :cool:
 

pancratee

XLDnaute Nouveau
Re : Import Excel/ACCESS

ok ok ...

- Donc je pars d'un fichier txt qui contient toutes les données "mélangées".
- Je convertis tout cela en EXCEL, donc j'obtiendrai une seule feuille EXCEL avec toutes mes données ( mélangées ) danc cette feuille EXCEL
- Création de la macro EXCEL qui va ...

* me découper cette feuille en plusieurs en séparant les
données à intégrer dans telle ou telle table ACCESS ?

- Ensuite création d'une macro sous ACCESS qui va " injecter " ces données ordonnancées dams les différentes tables voulues.

Ai-je bien résumé ?
Pourrais-tu me donner un peu plus d'info sur l'étape de macro EXCEL et la manière dont mes données vont être classées ...

Merci encore JNP !!
 

JNP

XLDnaute Barbatruc
Re : Import Excel/ACCESS

Re :),
Tu as bien suivi mon raisonnement (il y en a d'autre bien sûr...). Pour t'aiguiller sur les macros Excel, il faudrait un fichier exemple, avec tes entêtes de colonne, et d'autre part le nom de tes tables ainsi que l'ordre de leurs champs. Quelques .txt aussi pour bien comprendre toute la chaîne. Le tout, sans données confidentielles.
Bon courage :cool:
 

chris

XLDnaute Barbatruc
Re : Import Excel/ACCESS

Bonjour

pancratee à dit:
Je sais qu' ACCESS est capable d'importer des données au format EXCEL cependant il n'est apparament pas capable d'enregistrer les données d' EXCEL dans telle ou telle table de ma base de données ACCESS

Pour compléter les pistes de JNP que je salue, la solution la plus simple est la suivante :

  • lier la feuille excel : sur 2007 il semble que cela soit "création d'une table liée"
  • créer des requêtes AJOUT de cette table liée vers tes tables ACCESS : autant de requêtes que de tables ACCESS pour y ventiler tes données.
    Ces requêtes permettent de préciser quel champ de la table liée alimente tel champ de la table ACCESS.
Quelques remarques :

  • les tables ACCESS doivent avoir des clés primaires (si la base est bien construite).
    Il peut donc arriver que l'import via la requête AJOUT tente de créer des doublons.
    On doit donc prévoir le cas dans la requête AJOUT qui doit gérer la non correspondance (utiliser l'assistant non correspondance si tu ne sais pas faire) sinon on aura des messages d'erreur.
  • Selon le contenu du classeur EXCEL, il peut arriver que certaines colonnes Excel soient mal interprétées : valeurs considérées comme numériques à tort.
    Dans ce cas il faut exporter d'Excel en txt puis importer le txt dans une table "parking" (vidée avant chaque import) ayant la bonne structure en précisant lors de l'import le type de chaque colonne de données importée.
    C'est dans cette table que puiseront les requêtes AJOUT
Pas besoin de VBA.
Néanmoins les requêtes AJOUT étant des requêtes ACTION (non réversibles) ne pas oublier de sauvegarder la base avant ....
 
Dernière édition:

pancratee

XLDnaute Nouveau
Re : Import Excel/ACCESS

Bonjour Chris,

Merci pour tes réponses ...

Pour les requêtes d'AJOUT ce seront des INSERT INTO XXX_TABLE

Peux-tu stp me donner un exemple de requête faisant cet AJOUT ou un lien vers lequel j'ai des exemples.

Merci à toi.
 

chris

XLDnaute Barbatruc
Re : Import Excel/ACCESS

Bonjour

Inutile de les faire en SQL : tu crées simplement une requête de sélection sur ta table liée avec les colonnes dont tu as besoin et les critères qui vont bien puis

  • cliquer sur le bouton Ajout,
  • sélectionner la table cible.
  • Vérifier et compléter la ligne "Ajouter à" qui s'est insérée entre tri et critères pour ventiler les champs de la source vers la cible.
Pour vérifier les enregistrements concernés cliquer sur le bouton Affichage (cela fait une sélection), pour réaliser l'ajout cliquer sur le bouton Exécuter.
 

pancratee

XLDnaute Nouveau
Re : Import Excel/ACCESS

Ok merci Chris j'ai bien compris ce que je devais faire je pense que je vais m'en sortir grâce à toi et à JNB. Vous êtes super sympas.


Je t'embête une dernière fois Chris.

Désolé de demander cette précision, mais je suis débutant.

Je présume que je dois créer une relation entre la " table d'Import des données " et une voir plusieurs relations avec les autres tables de ma bases vers lesquelles je souhaite ventiler mes données via les requêtes d'AJOUT ...


Bonne journée.

Merci
 

chris

XLDnaute Barbatruc
Re : Import Excel/ACCESS

Bonjour

Pas de relation à définir dans le schéma de relations de la base avec la table liée car elle n'appartient pas réellement à la structure de ta base.

Par contre selon les besoins, on peut mettre des relations dans les requêtes notamment en cas de requête de non correspondance.
C'est dans ce cas une relation éphémère qui n'impacte pas la structure.

Par contre il est important pour une bonne structure que les autres tables aient des clés primaires et des relations entre elles, de 1 à n avec gestion de l'intégrité référentielle.
 

JAMOUK

XLDnaute Nouveau
Re : Import Excel/ACCESS

Bonjour à vous. Je viens pour la première fois sur ce forum.
Veuillez m'aider svp. J'ai créé une base de données Access (Access 2010)
Les données viennent mensuellement en masse au format excel et je dois les entrer dans ma base.

Quelqu'un peut-il me donner une macro qui me permettrait d'importer automatiquement les données de exel vers ma base de données dans des tables spécifiques.
Merci d'avance.
 
Dernière modification par un modérateur:

chris

XLDnaute Barbatruc
Re : Import Excel/ACCESS

Bonjour et bienvenue

Commence par ouvrir un nouveau fil. Celui-ci date.

Avant de faire des macros, commence par lier tes listes Excel, créer les requêtes adéquates. Voir mon post #9

Ensuite tu pourras automatiser si nécessaire.
 

Discussions similaires

Statistiques des forums

Discussions
312 304
Messages
2 087 062
Membres
103 447
dernier inscrit
DamD