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 :

import depuis Excel


Sujet :

VBA Access

  1. #1
    Membre éclairé Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Points : 827
    Points
    827
    Par défaut import depuis Excel
    Bonjour a tous,

    Je souhaiterai effectuer un import d'un fichier excel vers ma BDD access, j'ai le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim path As String
        Dim nomBase As String
     
        nomBase = "Base réel"
        path = "B:\Réel_" & correspondanceMois(Month(Now)) & "_" & Year(Now)
        DoCmd.RunSQL "DELETE TABLE FROM " & nomBase
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "Base réel", path, True
    quand j'exécute il me dit qu'il a un soucis au niveau du "FROM"
    deplus, l'import ne fonctionne pas.
    il me dit avec une erreur '2391', le champ "paie" n'existe pas dans la table de destination "Base réel". Probleme surement du au fait que j'ai deux feuilles dans mon classeur excel, peut-on choisir un feuille en particulier quand on importe ?

    Merci par avance pour vos réponse.
    Cordialement.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 638
    Points : 34 367
    Points
    34 367
    Par défaut
    salut,
    lorsqu'un champ/table comporte des noms avec des espaces, il faut encadrer ces noms par des crochets

    d'autre part, tu veux vider ou bien détruire une table ?

    DELETE sert à supprimer des enregistrements.
    Si tu souhaites détruire une table, il faut utiliser DROP TABLE

  3. #3
    Membre éclairé Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Points : 827
    Points
    827
    Par défaut
    je souhaite effacer le contenu de la table afin de conserver le format des champs (texte) sinon avec l'import depuis excel il va me mettre des champs en numerique.

    Donc si je suis ce que tu dis, il faudrais que ma variable s'appele

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomBase = "[Base réel]"
    j'aurais aussi voulu quelque eclaircissement du coté de ca: DoCmd.TransferSpreadsheet

    je sais pas vraiment comment on l'utilise et a quoi correspondent les parametres.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 638
    Points : 34 367
    Points
    34 367
    Par défaut
    ok,

    la syntaxe pour vider la table sera alors
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE * FROM MaTable

    Concernant la fonction transferspreadsheet, outre l'aide en ligne qui indique la syntaxe et les paramètres à passer, il s'agit de donner à access les infos nécessaires au bon déroulement de l'import/export:
    - import ou export ou attachement de données
    - source
    - cible
    - nom des champs

  5. #5
    Membre éclairé Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Points : 827
    Points
    827
    Par défaut
    je pense a faire F1 sur une méthode que je comprend pas, et si je la comprend pas, je post pour demander une info en plus

    de plus dans les parametres tu mets:

    - import ou export ou attachement de données
    - source
    - cible
    - nom des champs <== qu'es ce que tu entend par ca ? faut mettre tout les champs de la table ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 638
    Points : 34 367
    Points
    34 367
    Par défaut
    non, en fait il s'agit de spécifier si la première ligne contient ou non le nom des champs
    les valeurs attendues sont True ou False

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/04/2012, 15h15
  2. clé primaire sur table importée depuis Excel
    Par bravojr dans le forum Modélisation
    Réponses: 6
    Dernier message: 24/10/2008, 08h53
  3. Vérification des données importées depuis excel
    Par noakiss dans le forum VBA Access
    Réponses: 0
    Dernier message: 31/03/2008, 11h21
  4. Probléme d'import depuis Excel
    Par FCL31 dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/12/2007, 15h12
  5. Problemes d'importation depuis excel
    Par KANCRENAZ dans le forum Access
    Réponses: 3
    Dernier message: 17/02/2005, 09h57

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