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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
Public Sub Export()
On Error GoTo Gestion_Erreurs
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim qd As DAO.QueryDef
' Base de données courante
Set db = Currentdb
' Requête d'export
Set qd = db.QueryDefs("zz_RExport")
' Sélection dans rs des différentes Directions
Set rs = db.OpenRecordset("select distinct Direction from StyleManagement")
' Positionnement sur le premier enregistrement
rs.MoveFirst
' Boucle pour traiter chaque Direction
While Not rs.EOF
' Modifie le SQL de la requête en fonction de la Direction
qd.SQL = "select * from StyleManagement where Direction = '" & rs!Direction & "'"
' Export les données pour une Direction dans un fichier Excel
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _
"zz_RExport", "E:\Analyse\StyleManagement\StyleManagement_" & rs!Direction & ".xls"
'Lance la macro Excel
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
xlApp.workbooks.Open ("E:\Analyse\StyleManagement\StyleManagement_" & rs!Direction & ".xls")
xlApp.workbooks.Open
'J'ouvre le fichier Excel contenant la macro
("E:\Analyse\StyleManagement\StyleManagementMacro.xls")
xlApp.Run "StyleManagement"
xlApp.workbooks.Open.Save
xlApp.Quit
Set xlApp = Nothing
' Passe à l'enregistrement suivant
rs.MoveNext
Wend
' Ferme et libère les objets
rs.Close
Set rs = Nothing
Set qd = Nothing
Set db = Nothing
Gestion_Erreurs:
If Err.Number <> 0 Then MsgBox Err.Number & ":" & Err.Description
End Sub |
Partager