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 fichiers xls dans Access


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2005
    Messages : 43
    Points : 15
    Points
    15
    Par défaut Importer plusieurs fichiers xls dans Access
    Bonjour à tous,

    une question qui a surement déjà été posée sur des forums mais après avoir effectué quelques recherches les réponses qui s'y trouvent ne me conviennent pas (ou plus certainement je n'y suis pas arrivé... ) aussi je me permet de la reposer...

    J'ai un ensemble de fichier excel (39 en l'occurence) nommés "mod_12.xls" qui contiennent une feuille nommée également "mod_12" répartis dans des répertoires allant de 01 à 39.
    Cette feuille contient des données dans une zone A1:Z5. L'ensemble des fichiers excel sont formatés de la même manière

    Je souhaiterais "simplement" pouvoir importer l'ensemble de ces fichiers dans une seule table access.

    merci par avance de votre aide !

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    je te recommande d'utiliser dao pour lire tes fichiers de manière relativement rapide.

    1- une fonction qui va faire une boucle sur tous tes fichiers
    et qui fera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    loadDao varCheminFichier, "mod12#A1:Z5"
    2- une fonction qui va se connecter à chaque fichier
    exemple simplifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    sub LoadDao(ByVal sFic As String, ByVal DataRange As String)
        ' sFic est la variable chemin du fichier
        ' ouverture du fichier par DAO
        Set dbEng = CreateObject("DAO.DBEngine.36")
        Set db = dbEng.Workspaces(0).OpenDatabase(sFic, _
                                  False, _
                                  False, _
                                  "Excel 8.0;HDR=NO;")
                sSQL = "SELECT * FROM " & DataRange
                Set rec = db.OpenRecordset(sSQL, 4)
                ' mettre ici un code pour ajouter l'enregistrement dans une table
                ' exemple SQL INSERT INTO / recordset
                Set rec = Nothing
        Set dbEng = Nothing
        Set db = Nothing
    End Sub
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2005
    Messages : 43
    Points : 15
    Points
    15
    Par défaut
    ok merci pour la réponse

    j'avais bien essayé d'inporter les données excel via un lien odbc mais dans ce cas je devais le faire fichier par fichier...

    par contre je ne connais pas dao...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2005
    Messages : 43
    Points : 15
    Points
    15
    Par défaut
    peux tu m'expliquer comment tu utilises cette fonction...

  5. #5
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    dao est un moyen d'accès aux données principalement Access mais aussi fichier texte ou excel.
    je t'invite à faire un test sur un fichier excel que tu connais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    loadDao "C:\temp\tonfichier.xls", "Feuil1$A1:B20"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sub LoadDao(ByVal sFic As String, ByVal DataRange As String)
        ' sFic est la variable chemin du fichier
        ' ouverture du fichier par DAO
        Set dbEng = CreateObject("DAO.DBEngine.36")
        Set db = dbEng.Workspaces(0).OpenDatabase(sFic, _
                                  False, _
                                  False, _
                                  "Excel 8.0;HDR=NO;")
                sSQL = "SELECT * FROM " & DataRange
                Set rec = db.OpenRecordset(sSQL, 4)
                ' mettre ici un code pour ajouter l'enregistrement dans une table
                ' exemple SQL INSERT INTO / recordset
                ' ici nous faisons un simple affichage en fenêtre exécution
                do while not(rec.eof)
                   for i = 0 to rec.Fields.Count - 1
                      str = str & ";" & rec.fields(i)
                   next i
                   debug.print mid(str,2)
                   rec.movenext
                loop
     
                Set rec = Nothing
        Set dbEng = Nothing
        Set db = Nothing
    End Sub

    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



Discussions similaires

  1. importer plusieurs fichiers excel dans access
    Par mimieloic dans le forum Access
    Réponses: 4
    Dernier message: 18/05/2015, 14h19
  2. [AC-2010] Import plusieurs fichiers xls sur une table access via macro
    Par kaynan dans le forum VBA Access
    Réponses: 3
    Dernier message: 09/02/2014, 15h23
  3. importation de plusieurs fichiers excel dans Access
    Par esisa1 dans le forum VBA Access
    Réponses: 8
    Dernier message: 26/07/2010, 14h03
  4. import de plusieurs fichiers XML dans Access 2003
    Par frdek dans le forum Access
    Réponses: 7
    Dernier message: 09/08/2008, 19h39
  5. Importer un fichier dat dans access ou excel
    Par denisfavre dans le forum Access
    Réponses: 1
    Dernier message: 12/01/2006, 15h39

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