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

Access Discussion :

Importation de données d'excel vers access


Sujet :

Access

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

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    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 éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 635
    Points : 14 606
    Points
    14 606
    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
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

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

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    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 éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 635
    Points : 14 606
    Points
    14 606
    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.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

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

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    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
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 559
    Points
    6 559
    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)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

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

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    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
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 559
    Points
    6 559
    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)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

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

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Re bonjour Hyperion,

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

    Merci a tous.

    Cordialement.

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

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    Je reouvre le post, vu que j'ai refais le meme travail ne prenant le soins de faire exactement comme la premiere fois, mais maintenant en lancant la procedure j'ai un message d'erreur:

    Erreur d'execution '2391':

    Le champ "F9" n'existe pas dans la table de destination "tbl_ecriture".

    je coince, je ne comprend pas.

    une aide serait la bienvenue.

    merci.

    cordialement.

  11. #11
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 559
    Points
    6 559
    Par défaut
    Salut
    Vous avez vérifié si le nom de l'en-tête en I1 (F9=Field9) de votre feuille de calculs est le même que dans la tbl_écriture ?
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

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

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    Justement, j'ai effacé les données qui étaient dans la colonne F.

  13. #13
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 559
    Points
    6 559
    Par défaut
    Attention, lorsque dans une procédure d'importation Excel - Access un message d'erreur vous signale que, par exemple, "le champ F9 n'existe", cela signifie que le champ n°9 n'existe pas.
    Vérifiez que le nombre de colonnes d'Excel correspond bien au nombre de champs de votre tbl
    Vérifiez également que les intitulés des en-têtes de colonnes soient identiques aux noms de champs de votre tbl
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

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