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 :

PB : Export d'une liste de résultat sur excel [AC-2007]


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut PB : Export d'une liste de résultat sur excel
    Bonjour,
    Voila c'est mon premier post alors essayer d’être indulgent avec moi
    Je ne suis pas du tout développeur, mais mon n+1 m'a demandé de créer une base de donnée sur Access et de créer les formulaires qui vont avec.
    Pour la partie base de donnée je n'ai eu aucun problème mais pour la partie formulaire c'est autre chose...

    Voila mon problème est que je voudrais pouvoir faire un export d'une liste de résultat calculer par une requête SQL dynamique vers Excel via un bouton.

    La requête :

    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
    Private Sub cmd_recherche_Click()
        Dim strTable As String, strField As String, strCriteria As String, strSql As String
        Dim Criter As Variant
     
        strTable = "[" & Me.cbo_table & "]"         ' recupère le nom de la table
        strField = "[" & Me.cbo_champ & "]"         ' recupère le nom du champ
     
        ' compose le critere de recherche
        Select Case Me.opt_Recherche
                      Case 1 ' strictement egal
                           strCriteria = strTable & "." & strField & " Like """ & Me.txt_critere & """"
                      Case 2 ' commence par
                           strCriteria = strTable & "." & strField & " Like """ & Me.txt_critere & "*"""
                      Case 3 ' contient
                           strCriteria = strTable & "." & strField & " Like ""*" & Me.txt_critere & "*"""
                      Case 4 ' fini par
                           strCriteria = strTable & "." & strField & " Like ""*" & Me.txt_critere & """"
        End Select
     
        ' construit la requête sql
        strSql = "SELECT DISTINCTROW " & strTable & ".*"
        strSql = strSql & " FROM " & strTable
        strSql = strSql & " WHERE ((" & strCriteria & "));"
        SQLExportExcel = strSql
     
        Me.lst_resultat.RowSource = strSql  ' affecte sql a lst_Resultat
        Me.lst_resultat.Requery             ' recalcule la liste
    End Sub
    Pour cela tout vas bien.
    Là ou cela me pause problème c'est lorsque j'essaye de faire mon export vers excel.

    Voila mon code :

    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
    ' EXPORT RESULTAT SUR EXCEL
     
    Function export(sql As String)
    Dim qd As QueryDef
    DoCmd.DeleteObject acQuery, "Export_Excel"
    Set qd = CurrentDb.CreateQueryDef("Export_Excel", sql)
    DoCmd.OutputTo acOutputQuery, "Export_Excel", acFormatXLS, "c:\Export_Excel.xls"
    DoCmd.DeleteObject acQuery, "Export_Excel"
    End Function
     
    Private Sub ExportExcel_Click()
    On Error GoTo Err_Export_Click
    export (SQLExportExcel)
    Exit_ExportExcel_Click:
    Exit Sub
     
    Err_ExportExcel_Click:
    MsgBox Err.Description
    Resume Exit_ExportExcel_Click
    End Sub
    L'erreur qu'il me fait est :



    Pouvez-vous m'aidez svp?

    Merci d'avance.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonjour,

    Je ne comprends pas du tout la ligne 24 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQLExportExcel = strSql
    En effet, tu n'as pas de variable déclarée ayant pour nom SQLExportExcel.
    Je vois sinon que tu essayes de faire appel à cette variable sur le clic de ton bouton ExportExcel. Donc tu l'as peut-être déclarée dans l'en-tête de ton module. Si tu dis que tu n'es pas développeur, à mon avis ce n'est pas le cas
    Je te propose ça à la place (à condition que ton bouton ExportExcel soit sur le même formulaire que ta liste lst_resultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ExportExcel_Click()
    	On Error GoTo Err_Export_Click
    	export (Me.lst_resultat.RowSource)
    Exit_ExportExcel_Click:
    	Exit Sub
     
    Err_ExportExcel_Click:
    	MsgBox Err.Description
    	Resume Exit_ExportExcel_Click
    End Sub
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci de ta réponse,
    En effet je ne suis pas développeur mais j'ai suivi quelque cours lors de mon cursus.

    Ton code fonctionne très bien je t'en remercie paidge !!!

    Voici le code qui fonctionne correctement pour les futurs personnes qui en auront besoin :

    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
    ' EXPORT RESULTAT SUR EXCEL
     
    Function export(sql As String)
    Dim qd As QueryDef
    Set qd = CurrentDb.CreateQueryDef("Export_Excel", sql)
    DoCmd.OutputTo acOutputQuery, "Export_Excel", acFormatXLS, "c:\Export_Excel.xls"
    DoCmd.DeleteObject acQuery, "Export_Excel"
    End Function
     
    Private Sub ExportExcel_Click()
        On Error GoTo Err_ExportExcel_Click:
        export (Me.lst_resultat.RowSource)
    Exit_ExportExcel_Click:
        Exit Sub
     
    Err_ExportExcel_Click:
        MsgBox Err.Description
        Resume Exit_ExportExcel_Click
    End Sub

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Cool Dans ce cas n'oublies pas un petit et surtout de passer ton topic en "Résolu"
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

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

Discussions similaires

  1. Exportation d'une liste share point sur excel
    Par nisrin dans le forum InfoPath
    Réponses: 4
    Dernier message: 12/04/2015, 10h26
  2. tri sur une liste de résultats calculés
    Par pierrickgosselin dans le forum Excel
    Réponses: 2
    Dernier message: 11/04/2014, 20h52
  3. comment associer une liste à un resultat sur excel
    Par lilouelle dans le forum Excel
    Réponses: 13
    Dernier message: 21/08/2009, 22h18
  4. Réponses: 1
    Dernier message: 28/03/2007, 17h12
  5. fuite de memoire dans une liste de pointeur sur composant
    Par Nicolos_A dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/12/2004, 08h46

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