Bonjour,
Je travaille actuellement sous BO 6.5 et j'ai construit une macro qui permet de transférer un rapport avec la fonction copier tout de BO vers Excel 2002. La copie ne s'effectue pas dans Excel.
Option Explicit
Sub Test()
Dim BOCmdBar As CmdBar
Dim BOCmdBarControls As CmdBarControls
Dim BOControlButton As CmdBarControl
Dim BOCmdBarPopup As CmdBarPopup
Dim BOCmdBarButton As CmdBarButton
Dim affectation As Document
Dim fxcl As Object
Dim strFileName As String
Set fxcl = CreateObject("Excel.Application")
' 1) MISE A JOUR DES DONNEES D'AFFECTATIONS
' ouvre le fichier excel destinataire
strFileName = "D:\liste des affectations.xls"
fxcl.Workbooks.Open Filename:=strFileName
fxcl.Visible = True
' reinitialise les données de l'onglet affectations
fxcl.Sheets("feuil1").Select
fxcl.Cells.Select
fxcl.Selection.ClearContents
fxcl.Range("A1").Select
' ETAPE DE RAFFRAICHISSEMENT DE DONNEES
Set affectation = Application.Documents.Open("D:\affectations PF.rep")
affectation.Refresh
'Execute la commande 'copier tout' du menu 'Edition' de BO
'2nd menu et 20ème commandes
' selectionne les données BO et les copie dans Excel
Set BOCmdBar = Application.CmdBars.Item(2)
Set BOCmdBarControls = BOCmdBar.Controls
Set BOCmdBarPopup = BOCmdBarControls.Item(2)
Set BOCmdBarButton = BOCmdBarPopup.CmdBar.Controls.Item(17)
BOCmdBarButton.Execute
' selectionne l'onglet Excel destinataire de la copie
fxcl.Application.DisplayAlerts = False
fxcl.Sheets("feuil1").Select
fxcl.Range("A1").Select
fxcl.ActiveSheet.Paste
' sauvegarde le fichier Excel
fxcl.Quit
Set fxcl = Nothing
End Sub
Partager