IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Importation Access / Excel


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 35
    Points
    35
    Par défaut Importation Access / Excel
    Bonjour,

    Je possède un fichier excel et une base Access contenant une table vierge mais avec les champs. J'aimerais importer une colonne du fichier excel vers une colonne de la table Access. Est-ce que cela est possible ?

    Si oui, comment peut-on le faire sous VBA ou avec une macro ?

    Mci bcp

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    AS-tu fais une recherche dans l'aide d'Access ou dans la faq... ici par exemple ?

    Si tu ne veux pas importer toutes les données, tu peux définir un format d'importation en faisant une première importation manuelle et en enregistrant le format durant l'opération.
    EDIT: autant pour moi ce n'est pas applicable ici j'ai confondu avec les imports de fichiers texte...
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 35
    Points
    35
    Par défaut
    Oui j'ai lu la FAQ plusieurs fois mais je ne vois pas comment insérer UNE colonne du fichier excel dans UNE colonne de la table Access.

    Tu n'aurais pa une ptite idée par hasard ?

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 105
    Points : 86
    Points
    86
    Par défaut
    Ce probleme est abordé plusieurs fois dans le forum il faut cherché un peu....

    Regarde ici:
    http://www.developpez.net/forums/sho...d.php?t=349821
    ------------------- --------------------
    eFFeT DeVeLoPpEz.CoM

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 35
    Points
    35
    Par défaut
    Mci pour le lien. Après quelques recherches, j'ai vu qu'il existait une fonction pour les imports.
    Le seul problème est que ke je ne vois pas comment faire pour importer une seule colonne du fichier xls dans une seule colonne de la table Access

    Le code que je montre ne marche pas snif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.TransferSpreadsheet acImport, 8, "Fournisseur", "C:\Fournisseur.xls", True, "D2:D19"
    Cmt peut-on accéder à la 2è colonne de la table Fournisseur et la colonne D du fichier excel ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Seul une méthode par automation te permettra de réaliser ceci, le principe est de piloter Excel pour récupérer les données et utliser DAO pour les mettre au bon endroit.

    Va voir le tuto de Caféine (lien des tutos dans ma signature) sur le transfert Access-Excel, c'est à l'envers, mais il faut l'adapter.

    De plus tu as des exemples de pilotage d'Excel à partir d'Access par automation.

    Starec

  7. #7
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par ade94
    ...comment faire pour importer une seule colonne du fichier xls dans une seule colonne de la table Access...

    Il y a peut être une autre piste à explorer:
    - Lier le fichier Excel. Le fichier est alors utilisable comme une table, notamment au travers de requetes.

    - Effectuer le transfert de données de ta colonne au travers d'une requête (Ajout ou Mise à jour selon ton besoin).
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 35
    Points
    35
    Par défaut
    Mci pour ta réponse. Mais il y a qqch que je ne comprends pas : que veux-tu dire par lier les tables ?

    Aurais-tu des liens ou des exemples à me montrer ?

    MCi

  9. #9
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par ade94
    Mci pour ta réponse. Mais il y a qqch que je ne comprends pas : que veux-tu dire par lier les tables ?

    Aurais-tu des liens ou des exemples à me montrer ?

    MCi
    Au même titre que l'on peut attacher une table d'une autre base Acces, on peut attacher un fichier Excel.

    Par code, on peut le faire avec une code de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, "clientsXL", "d:\temp\clients.Xls", True

    Il faudra aussi penser à supprimer la liaison, une fois le traitement terminé, avec une commande du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.TableDefs.Delete "clientsXL"
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 35
    Points
    35
    Par défaut
    Mci pour cette réponse qui je pense va m'aidé.

    Ce que je voulais savoir, c'est comment accéder à une colonne du fichier excel et à une colonne de la table Access ?

    Je sais je suis tétu mais c'est ce qui m'intéresse vmt.

    Mci

  11. #11
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par ade94
    Mci pour cette réponse qui je pense va m'aidé.

    Ce que je voulais savoir, c'est comment accéder à une colonne du fichier excel et à une colonne de la table Access ?

    Je sais je suis tétu mais c'est ce qui m'intéresse vmt.

    Mci

    J'ai bien compris... et la solution que je te propose te permet de le faire...


    Citation Envoyé par mout1234
    Il y a peut être une autre piste à explorer:
    - Lier le fichier Excel. Le fichier est alors utilisable comme une table, notamment au travers de requetes.

    - Effectuer le transfert de données de ta colonne au travers d'une requête (Ajout ou Mise à jour selon ton besoin).
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  12. #12
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    Mci pour ta réponse, j'ai réussi à créer le fichier excel attaché.

    Après avoir fait cela, je crée ma requête ajout mais un nouveau problème se pose : lorsque je l'exécute, on me dit que les enregistrements n'ont pas été ajoutés à la table access à la suite de violations de clé.

    La table access est vide sans aucune ligne d'enregistrement.

    Je voulais savoir ce que cela signifie. Si tu as des qst n'hésite pas.

    Mci

  13. #13
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    La réponse est dans le message d'erreur .

    Tout ou partie des données importées ne respecte pas les contraintes d'existence et/ou d'unicité de la clé de ta tale ou d'un champ indexé.

    Regardes donc quelles sont les caractéristiques des champs de ta table.
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  14. #14
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 35
    Points
    35
    Par défaut
    La table destination contient une clé primaire de type NuméroAuto et je pense que le problème doit venir de la enfin je sais pas trop en fait, je suis un peu perdu la.

  15. #15
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 35
    Points
    35
    Par défaut
    Arf mnt on me dit que l'execution de la requete ajout ne fonctionne pas car les enregistrements n'ont pas été ajoutés à la table à la suite de violation des règles de validation.

    Qqn peut-il m'éclaircir ?

Discussions similaires

  1. [XL-2003] Import Access -> Excel Comportement étrange...
    Par babouu dans le forum Excel
    Réponses: 2
    Dernier message: 27/06/2012, 11h57
  2. Import ACCESS EXCEL
    Par pancratee dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/10/2009, 12h51
  3. Importation MS Excel vers MS Access
    Par mpascolo dans le forum Access
    Réponses: 4
    Dernier message: 24/10/2005, 12h05
  4. Problème champ après import d'excel vers access
    Par David M dans le forum Access
    Réponses: 6
    Dernier message: 16/10/2005, 11h53
  5. PB importation classeur excel sous access 2003
    Par techinfo37 dans le forum Access
    Réponses: 6
    Dernier message: 04/10/2005, 20h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo