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

Macros et VBA Excel Discussion :

exporter d'excel vers access


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Points : 116
    Points
    116
    Par défaut exporter d'excel vers access
    Bonsoir à tous,

    Voici un bout de code trouvé sur les tutos de Silky:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub exportDonnées_DAO()
    Dim Db As DAO.Database
    Dim strSQL As String
     
    Set Db = DAO.OpenDatabase("C:\dossier\dataBase.mdb", False, False)
    strSQL = "INSERT INTO [Table1] VALUES('999','8','DVP','7','mimi','22/10/2007')"
     
    Db.Execute strSQL
    Db.Close
    End Sub
    Je n'arrive pas à trouver la solution qu'il me faut. Je souhaite intégrer un tableau excel entier (sans les en-têtes qui sont les mêmes) dans une table access. Il faut faire une boucle? ou il y a t-il une syntaxe?

    Alex

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 467
    Points : 493
    Points
    493
    Par défaut
    Bonsoir
    voici une démarche à développer
    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
    Sub exportDonnées_DAO()
    Dim Db As DAO.Database, TWB As Object
    Dim strSQL As String, i As Integer
    Set TWB = ThisWorkbook.Sheets("FeuilleDonnées") ' à adapter
    Set Db = DAO.OpenDatabase("C:\dossier\dataBase.mdb", False, False)
      i = 2
        Do Until IsEmpty(TWB.Range("A2:A1000"))
           varA = TWB.Range("A" & i): varB = TWB.Range("B" & i)
           varC = TWB.Range("C" & i): varD = TWB.Range("D" & i)
           varE = TWB.Range("E" & i): varF = TWB.Range("F" & i)
           varG = TWB.Range("G" & i)
        strSQL = "INSERT INTO [Table1] VALUES('" & varA & "','" & varB & "','" & varC & _
                 "','" & varD & "','" & varE & "','" & varF & "','" & varG & "')"
            i = i + 1
            Db.Execute strSQL
        Loop
      Db.Close
    End Sub
    Bonne soirée.

  3. #3
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Points : 116
    Points
    116
    Par défaut
    Merci Abed!

    J'avais pas bien saisi l'histoire des variables. Avec une boucle, j'arrive à un truc du genre:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Public Sub exportation()
     
    Dim Db As DAO.Database
    Dim TWB As Object
    Dim strSQL As String
    Dim varA, varB, varC, varD, varE, varF, varG, varH, varI, varJ, varK, varL, varM, varN As String
    Dim i, lastcell As Integer
     
     
    lastcell = Range("N1").End(xlDown).Row
     
    Set TWB = ThisWorkbook.Sheets("Feuil1")
    Set Db = DAO.OpenDatabase("C:\dossier\dataBase.mdb", False, False)
     
        For i = 2 To lastcell
            varA = TWB.Range("A" & i): varB = TWB.Range("B" & i)
            varC = TWB.Range("C" & i): varD = TWB.Range("D" & i)
            varE = TWB.Range("E" & i): varF = TWB.Range("F" & i)
            varG = TWB.Range("G" & i): varH = TWB.Range("H" & i)
            varI = TWB.Range("I" & i): varJ = TWB.Range("J" & i)
            varK = TWB.Range("K" & i): varL = TWB.Range("L" & i)
            varM = TWB.Range("M" & i): varN = TWB.Range("N" & i)
     
    strSQL = "INSERT INTO [Table1] VALUES('" & varA & "','" & varB & "','" & varC & _
                "','" & varD & "','" & varE & "','" & varF & "','" & varG & "','" & varH & "','" & varI & _
                "','" & varJ & "','" & varK & "','" & varL & "','" & varM & "','" & varN & "')"
     
            Db.Execute strSQL
     
        Next
     
    Db.Close
     
    End Sub

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

Discussions similaires

  1. Exporter de Excel vers Access
    Par Novice_vba dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 27/03/2014, 22h35
  2. [XL-2010] Comment exporter de Excel vers Access ?
    Par Jojo02600 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/01/2013, 14h45
  3. Export donnée Excel vers Access
    Par roidurif dans le forum VBA Access
    Réponses: 9
    Dernier message: 25/06/2009, 12h33
  4. [AC-2007] Export d' Excel vers Access avec VBA depuis Access
    Par rabihm81 dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/06/2009, 15h56
  5. Exportation d'un fichier excel vers Access
    Par Alkemist dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/01/2006, 16h37

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