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 47 48 49 50 51 52 53
| Public Function ExportVersExcelForm()
Dim xl As Excel.Application
Dim Classeur As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim fld As DAO.Field
Dim sql As String
Dim intCol As Integer
Dim nbLines As Integer
' Ouverture de la requête à exporter
sql = "SELECT[List benchmark Requête EUR].* FROM[List benchmark Requête EUR]"
Set db = CurrentDb()
Set rst = db.OpenRecordset(sql)
' Définition du nombre de lignes
nbLines = 1000
' Ouverture d'Excel
Set xl = New Excel.Application
xl.Visible = True
With xl
Set Classeur = .Workbooks.Add ' Création d'un nouveau classeur
Classeur.Sheets("Feuil1").Name = "Importation" ' Renommage de la première feuille du classeur
Set xlSheet = Classeur.Sheets("Importation")
With xlSheet ' Transfert du nom des champs en entête de colonne
intCol = 1
For Each fld In rst.Fields
.Cells(1, intCol) = fld.Name
intCol = intCol + 1
Next
.Range("A2").CopyFromRecordset rst ' Copie du recordset sur Excel à partir de la cellule "A2"
End With
With xlSheet
.Range("A1:K2").Interior.ColorIndex = 33
.Range("A1:K2").Font.Bold = True
.Range("A1:CC" & nbLines).Font.Name = "Arial"
.Range("A1:CC" & nbLines).Font.Size = 8
.Range("A3:A" & nbLines).Font.ColorIndex = 50
.Columns.AutoFit
End With
End With
Set xl = Nothing
rst.Close
Set rst = Nothing
Set db = Nothing
End Function |