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 :

Importer plusieurs classeurs Excel dans plusieurs tables Acess


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 38
    Points : 32
    Points
    32
    Par défaut Importer plusieurs classeurs Excel dans plusieurs tables Acess
    Bonjour à tous,

    j'ai un petit problème d'import pour mes tables avec Access. J'ai dans un répertoire des fichiers Excel (et rien d'autre), et je souhaite les importer dans Access via VBA.

    J'ai trouvé sur divers forums et topics comment importer tous les classeurs d'une répertoire dans UNE table. Seulement moi je voudrais une table par classeur.

    Voilà mon code, je ne sais pas ce qu'il faut rajouter je suppose que c'est possible non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub import()
    ChDir "C:\Users\U47013\Desktop\FormatPivot"
    monfichier = Dir("*.*")
    On Error Resume Next
      While monfichier <> ""
          DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Pivot", monfichier, True
          monfichier = Dir()
      Wend
    End Sub
    Peu importe le nom final des tables Access (je voudrais seulement faire du MySQL dessus et ensuite les rebalancer dans Excel.)

    Merci par avance à tous!

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    Incrémenter les noms des tables avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub import()
    DIM i as integer
    ChDir "C:\Users\U47013\Desktop\FormatPivot"
    monfichier = Dir("*.*")
    i=1
    On Error Resume Next
      While monfichier <> ""
          DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Pivot" & i , monfichier, True
          monfichier = Dir()
          i = i+1
      Wend
    End Sub
    Cordialement,

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 38
    Points : 32
    Points
    32
    Par défaut
    Haha génial ça fonctionne!
    Merci beaucoup!

    Effectivement incrémenter était une bonne idée, j'ai pas l'habitude de manipuler des tables du coup ça m'est pas venu à l'esprit.
    En tout cas c'est classe, merci!

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 38
    Points : 32
    Points
    32
    Par défaut
    Rebonjour, je me permets de vous demander autre chose, une sorte d'évolution de ma question précédente!

    J'essaie d'importer proprement mes petites tables depuis le répertoire où se trouvent les fichiers excel, mais j'aimerais pouvoir définir leur nom comme le nom qu'ils ont dans le répertoire.

    Ce code m'importe bien toutes les tables, mais ce nom "pivot 1", "pivot 2", etc.. ne me permets pas de les traiter derrière.
    Dans le répertoire, les fichiers s'appellent "Pivot 2013-06-30", "Pivot 2013-12-31", etc... Je voudrais que les tables importées portent le même nom. (Je suis conscient qu'on peut le faire à la main mais le but est de simplifier la procédure au maximum pour un utilisateur tiers). Mais impossible d'invoquer des fonctions comme "Worksheets("blabla").Name" dans VBA Access du coup je suis complètement bloqué. Pensez-vous qu'il existe un moyen?

    Merci beaucoup pour toute réponse.

Discussions similaires

  1. [AC-2010] Importation de plusieurs classeurs Excel dans une Table d'Access
    Par Fred130A dans le forum Access
    Réponses: 7
    Dernier message: 19/05/2015, 20h29
  2. Prendre plage de cellule dans plusieurs classeurs excel
    Par lavoile dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/09/2010, 11h51
  3. [XL-2000] Prendre cellule dans plusieurs classeurs excel
    Par flosauveur69 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/09/2010, 21h02
  4. Ouvrir plusieurs classeurs Excel dans un seul processus
    Par zoopsys dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/12/2008, 17h27
  5. Importer une feuille excel dans une table Paradox ?
    Par Dalgo75 dans le forum Bases de données
    Réponses: 8
    Dernier message: 07/05/2006, 11h49

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