Bonjour à tous,
Je rencontre un problème sous Access : à un bouton d'export ver EXCEL, je voudrais joindre une commande de mise en page de la page excel ainsi crée.
Pour cette opération, j'ai enregistré une macros sous EXCEL. je voudrais donc la joindre à la commande d'export pour redre cette opération automatique (et ainsi épargner aux personnes qui utiliseront le fichier Accesse de devoir se retaper la mise en page.
Pouvez vous m'aider, s'il vous plaît ?
Voici la commande d'export :
Private Sub cmdExportXLS_Click()
'procédure d'export des données
'penser à changer la dimension du tableau
Dim tabrequete(1, 1) As String
'Exporte le catalogue
reponse = MsgBox("Etes-vous sûr de vouloir exporter les données catalogues vers Excel ?", vbYesNo + vbQuestion, "Exporter vers Excel" )
If reponse = vbYes Then
Dim xl As New Excel.Application
'Rend visible l'appli EXCEL
xl.Visible = True
'Création d'un nouveau classeur EXCEL
xl.Workbooks.Add
'Stocke le nom des requêtes dans un tableau à une dimension
tabrequete(0, 0) = "qry_frm_bromes4"
tabrequete(0, 1) = "bromes"
'Appelle la fonction qui va traiter l'export vers excel des requêtes
Call ExportQRYVersXL(tabrequete(), xl)
End If
End Sub
et voici la macro de mise en page
Sub Formatbrome
' Formatbrome Macro : mise en page de la page Excel « Bromes »
Rows("1:1" ).Select
Selection.Insert Shift:=xlDown
Rows("2:2" ).Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
(... la macro entière fait plusieurs pages, j'en donne ici une version abrégée...)
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Rendement"
Range("AA12" ).Select
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Columns("E:E" ).EntireColumn.AutoFit
End Sub
Merci d'avance pour votre aide.