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

SDK Discussion :

[VBA]connexion à BO et récupération du résultat vers une table Access


Sujet :

SDK

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Points : 4
    Points
    4
    Par défaut [VBA]connexion à BO et récupération du résultat vers une table Access
    Bonjour,
    Je voudrais exécuter une requete via BO opar programmation VBA et récupérer le résultat vers une table Access (par exemple en exportant le résultat vers un fichier text que j'importerais pasr table liée à ce fichier) ? est ce que c 'est possible si Oui, quelqu'un peut t-il me donner le code corespondant svp.
    Merci infiniment

  2. #2
    Membre expérimenté
    Avatar de bastoonet
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 011
    Points : 1 342
    Points
    1 342
    Par défaut Rafraichissement et export d'un rapoprt en pdf via une macro VBA
    Voilà ci-dessous une "portion" de code qui permet de rafraichir un document BO, et de l'exporter sous forme de pdf.
    Il te suffira de remplacer la fonction ExportAsPdf par celle qui te convient pour résoudre ton problème.

    Et bien sur de compléter la Macro (gestion des erreurs, déclarations de variables, etc...)

    Bon courage


    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     'Procédure qui permet d'ouvrir, rafraichir et exporter un document en pdf
    Sub Exporter(nom_fichier, Optional valeur_année, Optional valeur_mois, Optional valeur_date)
        Dim Doc             'Déclaration du Document BO
        Dim i As Integer    'N° de l'invite du rapport BO (varie avec le rapport)
     
        'Evite le renvoi de messages d'erreur si la requête ne retourne pas de données(empeche Bo d'afficher des boites de dialogue)
        Application.Interactive = False
     
                    On Error GoTo ouverture
                    'OUverture du document BO
                    Set Doc = Application.Documents.Open(Chemin)
     
                    'Rafraichissement du rapports avec les invites saisies 
     
                              'Boucle qui permet d'envoyer aux invites BO, les valeurs saisies dans la macro VB
                               For i = 1 To Doc.Variables.Count
     
                                        'Pour les invites de choix de l'année
                                        If (Doc.Variables.Item(i).Name = "1-Choix année") Then
                                            Doc.Variables.Item(i).Value = valeur_année
     
                                        'Pour toutes les autres invites on utilise un caractère générique
                                        Else
                                            Doc.Variables.Item(i).Value = "%"
                                        End If
                                Next i
     
     
                                On Error GoTo rafraichissement
                                'Rafraichissement du document
                                Doc.Refresh
     
     
                                 On Error GoTo exportation
                                'Enregistrement de la version PDF dans le répertoire de stockage
                                Doc.ExportAsPDF (Chemin_stockage)
     
                                 nb_export = nb_export + 1
                                 UpdateProgress (nb_export)
     
                            Else
                                Exit For
                            End If
     
                    Next j
     
                    'Fermeture du document BO
                    Doc.Close
     
            End If
     
        Next k
     
        'Retablissement mode utilisateur d'echange de document et autorisation des boites de dialogue
        Application.ExchangeMode = boUserMode
        Application.Interactive = True
     
    Exit Sub
     
     
    'Procédure de lancement de la génaration lorsqu'on clique sur la bouton "lancer"
    Sub lancer_click()
     
        'Informations sur les rapports
        nb_rapports = 1
        nom_rapport(1) = "xxxxxxxxxxxxxxxxxxxx.rep"
     
        'Lancement de l'export pour chaque rapport, pour chaque BU, et chaque niveau
        Call invite.Exporter(nom_rapport(1), invite.année_text_1.Value)
     
        msgbox ("Génération effectuée avec succès !") 
     
    End Sub

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2007
    Messages : 27
    Points : 19
    Points
    19
    Par défaut Erreur lors de l'éxécution
    Bonjour

    Je vous remercie de votre code qui me sauve. Mais j'ai juste un petit souci. Quand j'essaie d'éxécuter ma macro, j'ai un message d'erreur sur la ligne 66:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nom_Rapport(1) = "XXXXXXX.rep"
    (dans mon cas, j'ai 2 rapports);
    Compile error: sub or Function not defined
    (pourtant j'ai bien fait les déclarations).
    merci de votre retour.

Discussions similaires

  1. [AC-2000] VBA, importation particulière fichier Excel vers une table access
    Par ElCyril dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/12/2010, 01h05
  2. Réponses: 6
    Dernier message: 28/05/2008, 09h04
  3. coller une sélection d'une feuille excel vers une table access
    Par docjo dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/01/2008, 17h50
  4. Copie de cellules Excel vers une table Access
    Par pat_che dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/11/2007, 09h17
  5. [VBA-E]Transfere des données d'Excel dans une table Access
    Par flo83 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/04/2006, 09h22

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