bonjour,

je souhaite lancer une requête BO depuis un module VBA sous Excel et ensuite l'exporter. Pour cela j'ai fait des recherches et je suis tombée sur ce code que j'ai essayé mais qui ne fonctionne pas ( J'utilise la version Bo Xi 3.1 et je n'ai accès qu'au Web intelligence rich client). Pouvez vous m'aider même pour la définition des variables...?

Je vous remercie de votre aide

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
39
'connect => BO avec le login
    Set appBO = CreateObject(Class:="businessobjects.application")
    appBO.Interactive = False
    appBO.LoginAs "login", "password", False
 
'Le Requete
   Set docBO = appBO.Documents.Open("C:\marequete.rep")
 
'Une variable à entrée ?
   docBO.Variables("Année?").Value = "2005"
 
'Je fais tourner
   docBO.Refresh
 
'J'exporte dans un fichier xls
   docBO.Reports(n°durapport).ExportAsText "C:\Export.xls"
 
'Je récupère
Workbooks.Open "C:\Export.xls"
 
'en sélectionnant mon tableau de ma récupération
   ActiveWorkbook.Worksheets(1).Range("A3").CurrentRegion.Copy  _
   final.Worksheets("XX").Range("A1") ' final étant mon fichier destination
   Application.CutCopyMode = False
 
'je referme mon fichier Export.xls sans enregistrer
   ActiveWorkbook.Close False
 
'je referme ma requete BO en enregistrant
   docBO.Close boSaveIfModified 
 
'je quitte l'appli BO
   appBO.Quit
 
'Je vide la mémoire des liens BO
   Set appBO = Nothing
 
'Pour le fun je Kill mon fichier d'échange
   Kill "C:\Export.xls"