Bonjour,

Je vous écris car un petit soucis de code vba dans excel.
Depuis mon VBE sous Excel, j'ai activé les biblio de références Business Object 11.5 et ai crée un code permettant d' "enregistrer sous format .xls" une requête BO.
Jusque là aucun problème.

J'ai voulu cependant modifier mon code afin de pouvoir affecter à une feuille précise de mon classeur excel la requête que je venais de rafraichir : "enregistrer sous" ne me convenait plus, j'aurais donc voulu faire un "copier tout".

Après avoir chercher sur le net j'ai trouvé un bout de code qui faisait la manip mais cela ne fonctionne pas chez moi (erreur 438)
J'avoue que je sèche, quelqu'un aurait-il une idée ?

Voici le code en question
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
Sub openBO()
Dim objBO, objrep
Dim BOCmdBar As CmdBars
Dim BOCmdBarControls As CmdBarControl
Dim BOCmdBarPopup As CmdBarPopup
Dim BOCmdBarButton As CmdBarButton
 
 
'Ouvre Business Object
Set objBO = CreateObject("BusinessObjects.Application.11")
 
'Rentre le login et mdp
objBO.LoginAs "99999", "*****", False, enterprise
 
'Ouvre le rapport
Set objrep = objBO.Documents.Open("D:\couistelle\test.rep")
objBO.Visible = True
 
'Rafraichir le rapport
objrep.Refresh
 
'Sauver les données rafraichies
objrep.Save
 
 
'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(20)
BOCmdBarButton.Execute
.
.
.
C'est donc à la ligne "Set BOCmdBar=..." que l'erreur survient
Si vous avez une idée je prends...
Merci !