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
| Sub Import_données_et_MAJ()
Dim Ce_Fichier_Excel As String, Requete_BO As String
Dim Ind_Ligne As Integer
Dim Application_BO As busobj.Application
Dim Fichier_BO As Object
Dim Chemin_Requetes_PREREQUIS As String
Dim Chemin_Rapports_PREREQUIS As Variant
Ce_Fichier_Excel = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
Chemin_Requetes_PREREQUIS = ThisWorkbook.Path & "\Requêtes\PREREQUIS\"
Chemin_Rapports_PREREQUIS = ThisWorkbook.Path & "\Rapports\PREREQUIS\Prérequis "
'connect => BO avec le login
Set Application_BO = CreateObject(Class:="businessobjects.application.12")
Application.DisplayAlerts = False
On Error GoTo Saisir_Indentifiant
Application_BO.LoginAs "", "", False
On Error GoTo 0
'Le Requete
'Boucle sur tous les fichiers BO du répertoire "Chemin_Requetes_PREREQUIS"
Requete_BO = Dir(Chemin_Requetes_PREREQUIS & "*.rep")
On Error Resume Next
MkDir (Chemin_Rapports_PREREQUIS & Format(Now, "dd-mm-yyyy"))
On Error GoTo 0
Do While Len(Requete_BO) > 0
'Ouverture de la requete
Set Fichier_BO = Application_BO.Documents.Open(Chemin_Requetes_PREREQUIS & Requete_BO)
'Affiche la fenetre de BO
Application_BO.Visible = True
'Permet d'agir sur BO
Application_BO.Interactive = True
'Actualise la requete BO
Fichier_BO.Refresh
Application_BO.Visible = False
'J'exporte dans un fichier xls
Fichier_BO.SaveAs Chemin_Rapports_PREREQUIS & Format(Now, "dd-mm-yyyy") & "\" & Left(Requete_BO, Len(Requete_BO) - 4) & " " & Format(Now, "dd-mm-yyyy") & ".xls"
'je referme ma requete BO en enregistrant
Fichier_BO.Close boSaveIfModified
'Je passe à la requete suivante
Requete_BO = Dir()
Loop
...
End Sub |
Partager