Exporter resultat d'un sous formulaire dans excel
Résolu
jujubas
Messages postés
15
Statut
Membre
-
G-no -
G-no -
Bonjour,
J'ai un formulaire avec un sous formualire qui m'affiche ma liste de résultats, ce sous formulaire et filtré à l'aide filtre situés dans le formulaire principale. J'aimerais exporter dans excel le résultat de mon sous formulaire filtré. J'ai une petite idée déjà de comment faire, je vous montre le début de mon code
Voila si quelqu'un pouvait m'aider ou avait une autre solution qui marche ça m'aiderait beaucoup.
Merci d'avance
J'ai un formulaire avec un sous formualire qui m'affiche ma liste de résultats, ce sous formulaire et filtré à l'aide filtre situés dans le formulaire principale. J'aimerais exporter dans excel le résultat de mon sous formulaire filtré. J'ai une petite idée déjà de comment faire, je vous montre le début de mon code
Private Sub cmdTestXcl_Click()
Dim sqlChamp As QueryDef
CurrentDb.CreateQueryDef "sqlChamp"
Dim filt As String
Dim str As String
Dim var As String
Dim qry As QueryDef
xclTool = Forms![frmMain]![sfmToolsList].Form.RecordSource
Set qry = CurrentDb.QueryDefs(xclTool)
str = qry.SQL
CurrentDb.QueryDefs("sqlChamp").SQL = str
'Ici j'ai donc sqlchamp avec le sql du sous formulaire non filtré, je veux maintenant "filtré cette requête", c'est à dire lui appliqué ls filtres du sous formulaire (c'est la ou ça coince...)
filt = Forms![frmMain]![sfmToolsList].Form.Filter
CurrentDb.QueryDefs("sqlChamp").SQL = filt
'Cette formulation ne marche pas...
Dim outputFileName As String
outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "sqlChamp", outputFileName , True
DoCmd.DeleteObject acQuery, "sqlChamp"
End Sub
Voila si quelqu'un pouvait m'aider ou avait une autre solution qui marche ça m'aiderait beaucoup.
Merci d'avance
A voir également:
- Exporter résultat requête sql developer vers excel
- Liste déroulante excel - Guide
- Exporter favoris chrome - Guide
- Word et excel gratuit - Guide
- Comment exporter les photos de google photo vers l'ordinateur - Guide
- Resultat foot - Télécharger - Vie quotidienne
2 réponses
Bon, En fait j'ai trouvé, je poste mon code si un jour ça permet d'aider quelqu'un...
Private Sub cmdTestXcl_Click()
Dim sqlChamp As QueryDef
Dim test As QueryDef
CurrentDb.CreateQueryDef "sqlChamp"
CurrentDb.CreateQueryDef "test"
Dim filt As String
Dim ord As String
Dim str As String
Dim det As String
Dim var As String
Dim qry As QueryDef
xclTool = Forms![frmMain]![sfmToolsList].Form.RecordSource
Set qry = CurrentDb.QueryDefs(xclTool)
str = qry.SQL
CurrentDb.QueryDefs("sqlChamp").SQL = str
filt = Forms![frmMain]![sfmToolsList].Form.Filter
ord = Forms![frmMain]![sfmToolsList].Form.OrderBy
det = "SELECT sqlChamp.ToolName, sqlChamp.ToolSupplier, sqlChamp.ToolSheet From sqlChamp Where " + filt + " Order By " + ord + ";"
CurrentDb.Execute "Update sqlChamp Set ToolSheet = 'Ok' WHERE ToolSheet <> '' ;"
CurrentDb.QueryDefs("test").SQL = det
Dim ter As String
ter = EnregistrerUnFichier(Me.hwnd, "Enregistrer sous", "Test.xls", "C:\Documents and Settings\" & login & "\")
If Not IsNull(ter) And ter <> "" Then
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "test", ter, True
Dim xlApp As Excel.Application
Dim xlSheet As Excel.Worksheet
Dim xlBook As Excel.Workbook
' Initialiser les variables
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(ter)
Set xlSheet = xlBook.Worksheets("test")
xlSheet.Range(xlSheet.Cells(1, 1), xlSheet.Cells(1, 10)).ColumnWidth = 38
xlSheet.Range(xlSheet.Cells(1, 1), xlSheet.Cells(1, 10)).Font.Bold = True
xlBook.SAve
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End If
DoCmd.DeleteObject acQuery, "test"
DoCmd.DeleteObject acQuery, "sqlChamp"
End Sub