Bonjour,
je trouve le "je en crois pas" inutilement blessant ..
1) Merci pour les précisions sur Querydefs/Querydef : à force de chercher j'avais compris qu'il y avait un problème
Cependant la ligne "CurrentDb.QueryDefs("Bolvanka").sql = SQL " qui m'a posé probléme était tirée de l'article que vous mentionniez au début de ce post
Alors, débuter avec comme référence ... une ligne erronée ... ça ne facilite pas les choses !!!!!!!
2) Je pensais que ce qui commençait par "Private Sub ...' devait se terminer par "end sub"
3) En piochant dans les différents posts trouvés sur internet, j'ai trouvé une solution
Dans le module mGeneral j'ai ajouté
Public SQLExportExcel As String
Dans l'instruction construisant ma requete, j'ai ajouté
SQLExportExcel = sql
J'ai ajouté une fonction
Function ExportSQLExcel(sql As String)
Dim qd As QueryDef
DoCmd.DeleteObject acQuery, "essai"
Set qd = CurrentDb.CreateQueryDef("essai", sql)
DoCmd.OutputTo acOutputQuery, "essai", acFormatXLS, "c:\Export_Excel_Achat.xls"
DoCmd.DeleteObject acQuery, "essai"
End Function
J'ai mis 2 fois l'instruction delete car sinon j'avais l'erreur "objet déja existant.."
Et enfin
Private Sub ExportExcel_Click()
On Error GoTo Err_ExportExcel_Click
ExportSQLExcel (SQLExportExcel)
Exit_ExportExcel_Click:
Exit Sub
Err_ExportExcel_Click:
MsgBox Err.Description
Resume Exit_ExportExcel_Click
End Sub
C'est peut être lourd (?) mais ça marche
Il me reste à trouver l'instruction pour que l'export se fasse au même niveau que le fichier de la BBD (car variant selon les PC) et non plus à la racine de c:
Merci encore de votre aide
Bertrand