IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Sélectionner les contextes de requêtes sous Business Objects en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut Sélectionner les contextes de requêtes sous Business Objects en VBA
    Bonjour à toutes et à tous,

    Je vous expose mon problème.

    Lorsque j’exécute ma macro Excel, j'ai cette fenêtre qui s'affiche. Je dois donc choisir un des contexte affiché. Après validation, ma macro poursuit le traitement.

    Nom : Contextes de requête.png
Affichages : 179
Taille : 5,8 Ko

    Je voudrais que ma macro puisse choisir les contextes de requête de façon autonome.
    Je tiens à préciser que je ne peux pas faire de modifications manuelles des requêtes SQL

    Auriez vous ce bout de code en VBA qui puisse faire ce que je voudrais??

    En vous remerciant tous d'avance,

    Scorpietto

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je ne connais pas BO, mais je pense que c'est via les objets BO que tu pourrais éventuellement réaliser cela. As-tu renseigné une bibliothèque BO dans les références de ton projet? Si oui, tu devrais pouvoir regarder les possibilités des différents objets de cette bibliothèque. Il y a probablement moyen de préciser le contexte lors de l'utilisation des requêtes BO.

    Sur le forum BO, on pourra peut-être mieux te renseigner.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut
    Effectivement, j'ai cherché sur les forum et je n'ai rien trouvé. C'est la raison pour laquelle j'ai ouvert cette discussion afin qu'on puisse m'aider à ce sujet.

    Please!!! Help!!!

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    A mon avis, pour dire autrement ce que j'ai déjà dit, ça n'a pas grand chose à voir avec VBA. Je suppose que tu récupères tes données par requêtes en VBA sur des objets BO. Sans connaissance de BO et des librairies disponibles, je ne vois pas comment t'aider.

    Peux-tu déjà donner le code que tu utilises?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut
    Bonjour Pierre Fauconnier,

    A ta demande, tu verras si dessous, le code me permettant de commander BO à partir d'une macro Excel.

    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
    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
    Si tu as une idée de comment gérer les contextes de requêtes BO depuis le code VBA, je suis preneur

Discussions similaires

  1. Export Excel sous Business Objects 5
    Par TomDuBouchon dans le forum Téléchargez
    Réponses: 0
    Dernier message: 21/05/2012, 16h32
  2. Probleme de lien sous Business Object
    Par nastase66 dans le forum Administration-Migration
    Réponses: 4
    Dernier message: 12/04/2011, 14h49
  3. Besoin Aide fonction centile sous Business Object
    Par arnovino dans le forum Deski
    Réponses: 1
    Dernier message: 27/10/2010, 14h48
  4. Réponses: 0
    Dernier message: 18/09/2007, 11h57
  5. Problème avec un ShellExecute sous Business Object
    Par Sunchaser dans le forum Windows
    Réponses: 1
    Dernier message: 24/06/2007, 19h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo