Bonjour à tous,
Je voudrais exporter le résultat d'une requête Access dans un fichier Excel.
L'export fonctionne à condition que le classeur Excel n'existe pas, sinon
j'obtiens une erreur.
Dans le classeur Excel, j'ai des procédures qui fonctionnent à l'ouverture
du classeur pour :
- adapter la mise en page
- positionner des filtres
- faire des calculs
...
Il faut donc que je garde ce classeur. L'idéal serait que j'exporte sous un
autre onglet pour récupérer les données dans mon onglet de traitement par la
suite.
Merci d'avance pour vos idées
Dan
Ci-dessous mon code actuel :
Dim strFichierDestination As String
Private Sub Btn_ExportExcel_Click()
On Error GoTo Err_Btn_Export_Excel_Click
Dim strDbPath As String, strDbFile As String
Dim CurrentDbDir As String
Dim strNomTable As String
strNomTable = "Rq_Programmation" 'Nom de la table à exporter
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Dan
Je me réponds à moi-même car j'ai trouvé la réponse donnée par Raymond quelques questions plus bas : DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strNomTable, _ strFichierDestination, True, "Export" Le nom de l'onglet est Export. Il est créé automatiquement s'il n'existe pas mais je suis obligé de le supprimer dans mon cas pour que les prochaines données exportées ne soient pas mélangées aux précédentes. J'effectue donc la suppression de l'onglet Export directement sous Excel après avoir récupéré les données contenues dans cet onglet. Tout se fait automatiquement à l'ouverture du classeur Excel. On ne voit donc même pas apparaître l'onglet Export.
Bonjour à tous, Je voudrais exporter le résultat d'une requête Access dans un fichier Excel. L'export fonctionne à condition que le classeur Excel n'existe pas, sinon j'obtiens une erreur. Dans le classeur Excel, j'ai des procédures qui fonctionnent à l'ouverture du classeur pour : - adapter la mise en page - positionner des filtres - faire des calculs ... Il faut donc que je garde ce classeur. L'idéal serait que j'exporte sous un autre onglet pour récupérer les données dans mon onglet de traitement par la suite. Merci d'avance pour vos idées Dan
Ci-dessous mon code actuel : Dim strFichierDestination As String
Private Sub Btn_ExportExcel_Click() On Error GoTo Err_Btn_Export_Excel_Click
Dim strDbPath As String, strDbFile As String Dim CurrentDbDir As String
Dim strNomTable As String strNomTable = "Rq_Programmation" 'Nom de la table à exporter
'Création de l'adresse du fichier de destination strFichierDestination = CurrentDbDir & "" & strNomTable & ".xls"
'Exportation de la table DoCmd.SetWarnings False DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ strNomTable, strFichierDestination DoCmd.SetWarnings True
Call OuvrirFichierExcel_Click
Exit_Btn_Export_Excel_Click: Exit Sub
Err_Btn_Export_Excel_Click: MsgBox Err.Description Resume Exit_Btn_Export_Excel_Click End Sub
Private Sub OuvrirFichierExcel_Click() On Error GoTo Err_OuvrirFichierExcel_Click Dim oApp As Object
Set oApp = CreateObject("Excel.Application") oApp.Visible = True
oApp.Workbooks.Open strFichierDestination
On Error Resume Next oApp.UserControl = True
Exit_OuvrirFichierExcel_Click: Exit Sub
Err_OuvrirFichierExcel_Click: MsgBox Err.Description Resume Exit_OuvrirFichierExcel_Click End Sub
Je me réponds à moi-même car j'ai trouvé la réponse donnée par Raymond
quelques questions plus bas :
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strNomTable, _
strFichierDestination, True, "Export"
Le nom de l'onglet est Export. Il est créé automatiquement s'il n'existe pas
mais je suis obligé de le supprimer dans mon cas pour que les prochaines
données exportées ne soient pas mélangées aux précédentes.
J'effectue donc la suppression de l'onglet Export directement sous Excel
après avoir récupéré les données contenues dans cet onglet.
Tout se fait automatiquement à l'ouverture du classeur Excel. On ne voit
donc même pas apparaître l'onglet Export.
Bonjour à tous,
Je voudrais exporter le résultat d'une requête Access dans un fichier Excel.
L'export fonctionne à condition que le classeur Excel n'existe pas, sinon
j'obtiens une erreur.
Dans le classeur Excel, j'ai des procédures qui fonctionnent à l'ouverture
du classeur pour :
- adapter la mise en page
- positionner des filtres
- faire des calculs
...
Il faut donc que je garde ce classeur. L'idéal serait que j'exporte sous un
autre onglet pour récupérer les données dans mon onglet de traitement par la
suite.
Merci d'avance pour vos idées
Dan
Ci-dessous mon code actuel :
Dim strFichierDestination As String
Private Sub Btn_ExportExcel_Click()
On Error GoTo Err_Btn_Export_Excel_Click
Dim strDbPath As String, strDbFile As String
Dim CurrentDbDir As String
Dim strNomTable As String
strNomTable = "Rq_Programmation" 'Nom de la table à exporter
Je me réponds à moi-même car j'ai trouvé la réponse donnée par Raymond quelques questions plus bas : DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strNomTable, _ strFichierDestination, True, "Export" Le nom de l'onglet est Export. Il est créé automatiquement s'il n'existe pas mais je suis obligé de le supprimer dans mon cas pour que les prochaines données exportées ne soient pas mélangées aux précédentes. J'effectue donc la suppression de l'onglet Export directement sous Excel après avoir récupéré les données contenues dans cet onglet. Tout se fait automatiquement à l'ouverture du classeur Excel. On ne voit donc même pas apparaître l'onglet Export.
Bonjour à tous, Je voudrais exporter le résultat d'une requête Access dans un fichier Excel. L'export fonctionne à condition que le classeur Excel n'existe pas, sinon j'obtiens une erreur. Dans le classeur Excel, j'ai des procédures qui fonctionnent à l'ouverture du classeur pour : - adapter la mise en page - positionner des filtres - faire des calculs ... Il faut donc que je garde ce classeur. L'idéal serait que j'exporte sous un autre onglet pour récupérer les données dans mon onglet de traitement par la suite. Merci d'avance pour vos idées Dan
Ci-dessous mon code actuel : Dim strFichierDestination As String
Private Sub Btn_ExportExcel_Click() On Error GoTo Err_Btn_Export_Excel_Click
Dim strDbPath As String, strDbFile As String Dim CurrentDbDir As String
Dim strNomTable As String strNomTable = "Rq_Programmation" 'Nom de la table à exporter