1. #1
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 176
    Points : 78
    Points
    78

    Par défaut Importation de données d'excel vers access

    Bonjour,

    j'essaye d'importer des données d'un fichier Excel vers un fichier Access, je me suis inspiré d'un post code VBA que j'ai trouvé sur le forum et que j'ai adapté a mes besoins bien sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub import_Click()
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "tbl_ecriture", "C:\Users\azzedine.mimoune\Desktop\ecriture.xlsx"
        DoCmd.RunSQL "ALTER TABLE tbl_ecriture ADD CONSTRAINT PK_[NO_ENREG] PRIMARY KEY[NO_ENREG]"
    End Sub

    Des que je clique sur le bouton, j'ai le message d'erreur suivant :

    Erreur d'execution '2391':
    Le champ "F1" n'existe pas dans la table destination "tbl_ecriture"

    Mon problème c'est que je n'arrive pas a identifer le champ "F1".

    Merci d'avance pour l'aide.

    Cordialement.

  2. #2
    Expert confirmé
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 644
    Points : 4 602
    Points
    4 602

    Par défaut

    bonjour,
    il faudrait soit mettre le nom des champs de la table tbl_ecriture sur la première ligne de ton fichier Excel, soit passer par une table temporaire contenant des champs nommés F1, F2, F3, etc... en précisant le type de données pour chaque champ, ensuite insérer les enregistrements de la table temporaire dans la table tbl_ecriture

  3. #3
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 176
    Points : 78
    Points
    78

    Par défaut

    Bonsoir tee_grandbois,

    J'ai renommé les noms de champs sur la table access et la feuille de manière a avoir les mêmes noms, maintenant j'ai un autre message d'erreur, que voici;

    Erreur d’exécution 3289

    Erreur de syntaxe dans la clause CONSTRAINT.

    Que pourrait etre la nature du probleme ?

    Merci.

    Cordialement.

  4. #4
    Expert confirmé
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 644
    Points : 4 602
    Points
    4 602

    Par défaut

    peut-être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ADD CONSTRAINT [PK_NO_ENREG] PRIMARY KEY([NO_ENREG])
    à la place de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ADD CONSTRAINT PK_[NO_ENREG] PRIMARY KEY[NO_ENREG]
    mais pourquoi créer une clé primaire via VBA plutôt que manuellement à la création de la table ? Cela prend plus de temps pour taper le code que de créer la clé directement.

  5. #5
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 176
    Points : 78
    Points
    78

    Par défaut

    Bonjour tee_grandbois,

    Bon j'ai porté la correction comme vous me l'avez dit, maintenant c'est le message initial qui revient, c'est a dire :

    Erreur d'execution '2391':
    Le champ "F1" n'existe pas dans la table destination "tbl_ecriture"

    Alors pour etre sur, sur la feuille excel, j'ai tapé le nom de la cellule F1 et aussi les autres, dans la zone de nom, c'est bien ça ?

    Je ne comprend plus.

    Cordialement.

  6. #6
    Membre éclairé Avatar de hyperion13
    Homme Profil pro
    Calot120 - Enseignant Post Bac
    Inscrit en
    octobre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Calot120 - Enseignant Post Bac
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2007
    Messages : 473
    Points : 660
    Points
    660

    Par défaut

    Dans ce genre de manip, je crée toujours manuellement la tbl d'importation de données d'excel et après j'exécute automatiquement.
    Tu peux faire une capture d'écran de ta tbl et de ta feuille ?
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    GMT+4 - 21°19'18" S - 055°25'32" E
    Inutile de me contacter par MP

  7. #7
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 176
    Points : 78
    Points
    78

    Par défaut

    Bonjour Hyperion,

    J'ai aussi crée la table manuellement sur access.

    Table access.docxTable excel.docx

    Voila les deux captures, vous remarquerez que jai pris le soins d'avoir les memes noms de champs partout.

    cordialement.

  8. #8
    Membre éclairé Avatar de hyperion13
    Homme Profil pro
    Calot120 - Enseignant Post Bac
    Inscrit en
    octobre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Calot120 - Enseignant Post Bac
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2007
    Messages : 473
    Points : 660
    Points
    660

    Par défaut

    A tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub import_Click()
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "tbl_ecriture", "C:\Users\azzedine.mimoune\Desktop\ecriture.xlsx", True
    End Sub
    True à la fin de la syntaxe pour indiquer que ta 1ère ligne contient les en-têtes.
    Je ne suis pas certain qu'il faille une clé primaire dans ta tbl.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    GMT+4 - 21°19'18" S - 055°25'32" E
    Inutile de me contacter par MP

  9. #9
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    juillet 2012
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 176
    Points : 78
    Points
    78

    Par défaut

    Re bonjour Hyperion,

    Effectivement le "True" a fait toute la différence, ça marche.

    Merci a tous.

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/06/2011, 12h57
  2. importer des données d'excel vers access
    Par nicolille dans le forum VBA Access
    Réponses: 8
    Dernier message: 15/02/2009, 18h41
  3. Import de données de Excel vers Access
    Par kdestine dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/09/2007, 11h48
  4. Importation de données d'Excel vers Access
    Par jolemoine dans le forum Access
    Réponses: 9
    Dernier message: 13/07/2007, 14h56

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