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 :

VBA pour exporter une table ACCESS dans excel dans une plage donnée


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 24
    Points
    24
    Par défaut VBA pour exporter une table ACCESS dans excel dans une plage donnée
    Bonjour,

    Depuis Access, je cherche à exporter une table de façon simple, dans Excel à un endroit bien précis (ex: a partir de C5).
    J'ai utilisé les fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DoCmd.TransferSpreadsheet
    DoCmd.RunSavedImportExport
    DoCmd.OutputTo
    mais sans succès, car je n'arrive pas à placer dans une plage de cellule.

    J'utilise Access 2010 et Excel 2010 pour info.

    Merci d'avance.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 28
    Points : 30
    Points
    30
    Par défaut
    salut

    j'utilise ça pour l'export

    (tu dois rajouter la référence librairie Microsoft Access XX Object Library avant)

    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
    35
    36
    37
    38
    39
     
    Public Sub export2Excel(sTemplate As String, sSheetName As String, sPath2Export As String, sFileName2Export As String)
        Dim oExcel As New Excel.Application
        Dim WB As New Excel.workbook
        Dim WS As Excel.Worksheet
        Dim rng As Excel.Range
     
        Dim rst As DAO.Recordset
        Dim sSQL As String
     
        sSQL = "SELECT * FROM TA_TABLE"
     
        With oExcel
            .Visible = False
            Set WB = .Workbooks.Add(sTemplate) 'ton chemin vers le template excel
     
            With WB
                Set WS = WB.Worksheets("Nom de ta feuille template")
                With WS
                    Set rst = CurrentDb.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
                    Set rng = .Range("C5")
                    rng.CopyFromRecordset rst
                    rst.Close
     
    'tu peux formater ta sortie excel ici pour faire jolie...
     
                    .Name = sSheetName 'tu renommes la feuille
                End With
                .SaveAs FileName:=sPath2Export & sFileName2Export, FileFormat:=52
            End With
     
            .QUIT
        End With
     
        Set WB = Nothing
        Set WS = Nothing
        Set rst = Nothing
        Set rng = Nothing
    End Sub
    Tu peux utiliser un modèle excel.

    Dans mon cas, pour éviter que le fichier template excel ne se perde par mégarde par les utilisateurs, je l'ajoute dans une table que j'extraie à l'ouverture de la base access.

    @++

Discussions similaires

  1. Exporter une table Access vers Excel via un Bouton (VBA)
    Par moni27b dans le forum VBA Access
    Réponses: 7
    Dernier message: 16/04/2015, 11h25
  2. [AC-2000] VBA, importation particulière fichier Excel vers une table access
    Par ElCyril dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/12/2010, 01h05
  3. Réponses: 1
    Dernier message: 17/11/2010, 19h42
  4. Exporter une table Access vers Excel dans le dossier courant
    Par piflechien73 dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/11/2009, 17h17
  5. Problème pour exporter une table Access vers Excel
    Par PAULOM dans le forum Access
    Réponses: 22
    Dernier message: 02/05/2006, 13h42

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