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 :

code export excel [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 321
    Par défaut code export excel
    Bonjour,

    j'ai trouver ce code pour pouvoir réaliser un export excel du résultat dans formulaire basé sur une requête.
    Quand j'appuyais sur le bouton, j'avais bien la fenêtre d'enregistrement qui s'ouvrait mais aucun fichier ne s'enregistrait et maintenant j'ai une erreur d'exécution '3012'

    Quelqu'un peut m'aider, je débute

    merci

    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
    Private Sub Btn_export_Click()
     
    Dim db As Database
    Dim qd As QueryDef
     
    Set db = CurrentDb()
    Set qd = db.CreateQueryDef("Resultat_req", strSQL)
     
    qd.Close
     
    On Error GoTo Export_excel_Err
     
     
        DoCmd.OutputTo acQuery, "Resultat_req", "MicrosoftExcelBiff8(*.xls)", "", True, "", 0
     
     
        DoCmd.DeleteObject acQuery, "Resultat_req"
     
    Export_excel_Exit:
     
    Exit Sub
     
    Export_excel_Err:
        DoCmd.DeleteObject acQuery, "Resultat_req"
        Resume Export_excel_Exit
     
     
     
    End Sub

  2. #2
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonsoir,
    je verrai plutôt
    un strSQL renseigné et un nom de fichier dans la commande OutputTo
    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
     
    Dim db As Database
    Dim qd As QueryDef
    Dim strSQL As String
    strSQL = "SELECT * FROM NomTable;"
    Set db = CurrentDb()
    Set qd = db.CreateQueryDef("Resultat_req", strSQL)
     
    qd.Close
     
    On Error GoTo Export_excel_Err
     
        DoCmd.OutputTo acOutputQuery, "Resultat_req", "MicrosoftExcelBiff8(*.xls)", "c:\test.xls"
        DoCmd.DeleteObject acQuery, "Resultat_req"
     
    Export_excel_Exit:
     
    Exit Sub
     
    Export_excel_Err:
        DoCmd.DeleteObject acQuery, "Resultat_req"
        Resume Export_excel_Exit

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur Industrie
    Inscrit en
    Novembre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 104
    Par défaut
    Bonjour je ne comprend pas bien ce que tu veux faire, exporter une requéte au format excel? Pourquoi ne pas utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadsheet acExport, , "Table/Requète", Chemin, True, "Onglet"
    @+

    Alex

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 321
    Par défaut
    Oui je crois que je me complique la vie, suis débutant en vba et en circulant sur le forum j'ai pu voir que une seule ligne pouvait suffire

    par contre mon export est basé sur le résultat d'un formulaire et pour "onglet" je ne vois pas très bien ce que je peux mettre???

    DoCmd.TransferSpreadsheet acExport, , "Table/Requète", "c:\resultat_req.xls", True, "Onglet"

    Pour cette ligne, j'ai juste à l'insérer à l'intérieur de :

    Private Sub Btn_export_Click()

    ou y at il autre chose à faire?

    merci de ton aide

  5. #5
    Membre confirmé
    Profil pro
    Ingénieur Industrie
    Inscrit en
    Novembre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 104
    Par défaut
    par contre mon export est basé sur le résultat d'un formulaire
    Le résultat d'un formulaire?????

    Le plus souvent un Formulaire est basé sur une requéte (ou une table), dans cette requète tu peux avoir des champs calculés (sans doute tu fait cette manip dans tes champs de formulaire??) et c'est cette requéte qui est le reflet de ton formulaire d'un point de vue données. C'est cette derniére qu'il faut exporter (Si j'ai bien compri )

    La partie Onglet désigne l'onglet dans le quel tu va exporter tes donner, si il n'existe pas Access va le créer. (C'est utile pour mettre à jours un fichier excel déja existant avec des calcules dériére TCd Graph et autres...)

    Normalement ce code suffit

    Je préfére Mettre ce bout de code le plus souvent dans un module mais aprés cela ne regarde que moi


    bon courrage

    N'hésite pas à revenir vers moi si tu as besoin.

    @+

    Alex

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 321
    Par défaut
    Bonjour,

    j'ai inséré cette ligne pour l'export

    Private Sub Btn_export_Click()

    DoCmd.TransferSpreadsheet acExport, , "Tbl_Globale", "c:\resultat.xls", True, "Onglet"

    et Access me donne une erreur d'exécution "3051"

    il y a t il une référence à cocher dans les outils Access ?


    alex >>>quand tu parles de module c'est dans une autre fenêtre VBA en dehors du code source de mon formulaire? quels sont les avantages?


    merci

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

Discussions similaires

  1. Export Excel via un code pour SAS Guide
    Par Pierre-Henri ROBLOT dans le forum SAS Base
    Réponses: 2
    Dernier message: 28/01/2015, 11h07
  2. [EG] EXPORT EXCEL via un code pour SAS Guide
    Par Pierre-Henri ROBLOT dans le forum Outils BI
    Réponses: 8
    Dernier message: 31/07/2014, 14h58
  3. [access 2010] code exporté d'access vers excel
    Par gwaheb dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/06/2011, 13h40
  4. Probleme Code Export Excel
    Par Mickael747 dans le forum VBA Access
    Réponses: 21
    Dernier message: 18/07/2008, 12h12
  5. {VBA Excel}Probleme de code sur l'export Excel à Word
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 21/06/2007, 10h59

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