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 :

Code qui permet de garder BO ouvert pour toutes les macros


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Code qui permet de garder BO ouvert pour toutes les macros
    Bonjour,
    Voila j'utilise une des macros qui ouvre des fichiers business object, qui les met à jour, qui les referme et qui actualise les données dans Excel. Mais le probléme c'est qu'a chaque macro il ouvre BO et le referme pour le réouvrir à la macro suivante etc...
    Ce qui provoque une perte temps. Est ce que quelqu'un connait un code qui permet de garder BO ouvert pour la macro suivante. merci pour votre aide

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut


    Quand tu dis "à chaque macro on ouvre BO" c'est la même macro utilisée plusieurs fois dans un seul classeur Excel, ou différentes macros dans un seul classeur Excel, ou à chaque fois des macros différentes dans des classeurs Excel différents ?
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Bonsoir

    Pour une fois c'est moi qui ai besoin d'éclaircissement.

    Que signifie BO ?
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Voila j'utilise une des macros qui ouvre des fichiers Business Object
    Ce sont des fichiers d'analyse de données d'entreprises
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  5. #5
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonsoir,

    BO signifie je crois dans ce cas Business Object (un fichier .rep par exemple).
    Cordialement

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Merci pour cette précision, je n'avais pas fait le rapprochement avec le texte

    Comme Fring, je pense qu'il manque quelques informations. peut être une explication de l'architecture des macros voir même un bout de code.

    bonne soirée
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

  7. #7
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Je ne connais pas spécifiquement ce logiciel mais je me dis qu'il doit y avoir en début de procédure un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set BO = New BusinessObject.application
    pour l'ouverture de l'application et en fin de procédure
    pour la fermeture

    A partir de là, selon l'utilisation de la macro, ou des macros (dans un classeur, plusieurs classeurs, une procédure, plusieurs procédures), on doit pouvoir gérer l'ouverture et la fermeture de BO
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    J'utilise plusieurs macros différentes dans un même classeur.
    Je vous met l'exemple de fin d'une macro et le début d'une macro qui suit :

    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
    Selection.QueryTable.Refresh BackgroundQuery:=False
            ActiveWorkbook.Sheets("Capteur PS H Succ").Tab.ColorIndex = 4
            Application.Run _
                "'P6-002 Récap Hebdomadaire - Capteurs V18_S.xls'!Bouton12_QuandClic"
            Range("K91").Select
            ActiveCell.FormulaR1C1 = "OK"
            Range("M91").Select
            ActiveCell.FormulaR1C1 = "OUI"
            Sheets("Mise à Jour").Select
        End If
    If Réouverture_BO = "O" Then appBO.Quit
    End Sub
    Sub Capteur_PS_M()
    Dim appBO As busobj.Application
    Dim docBO As busobj.Document
    Dim repBO As busobj.Report
    Dim promptText1 As String
    Dim promptText2 As String
    Dim prompt1 As Variable
    Dim prompt2 As Variable
    Merci

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    G oublier la partie la plus importante du début du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sheets("Capteur PS M").Select
    ActiveSheet.Calculate
    Application.DisplayAlerts = False
    Set appBO = New busobj.Application
    appBO.Interactive = True
    Réouverture_BO = Evaluate("Réouverture_B.O")
    Refresh = Evaluate("Refresh")
    If Réouverture_BO = "N" Then GoTo suite

  10. #10
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Re,

    Je poursuis mon idée, celle-ci étant d'ouvrir BO et de le fermer en même temps que le classeur Excel. Il faudrait donc retirer dans chaque macro ce qui concerne l'ouverture et la fermeture de ce programme, ensuite mettre ces bouts de code dans l'objet ThisWorkbook
    Code pour déclaration de la variable appBO : Sélectionner tout - Visualiser dans une fenêtre à part
    Public appBO As busobj.Application
    Code pour l'ouverture de BO : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_Open()
    Set appBO = New busobj.Application
    appBO.Visible = True
    End Sub
    Code pour la fermeture de BO : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    appBO.Quit
    End Sub
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci pour votre aide mais ca ne marche pas car même si BO s'ouvre au début de la macro, la fênêtre n'est pas reconnu active. En faite je pense qu'il faudrait juste trouver le code qui permet à l'ordinateur de reconnaitre que BO est ouvert et de le rendre actif.

  12. #12
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Pour rendre la fenêtre BO active, tu peux essayer simplement
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Ca ne marche pas ca m'affiche un message d'erreur. merci quand même

  14. #14
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Je peux difficilement t'en dire plus n'ayant jamais utilisé ce programme ni même jamais vu à quoi ça ressemble.

    Eventuellement colle ici tes différents codes (codes entiers, pas juste des morceaux) des fois que quelqu'un aurait une solution
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/06/2008, 13h16
  2. Réponses: 5
    Dernier message: 10/01/2008, 14h20
  3. Code qui permet d'ouvrir une fenetre browser comme pour un input file
    Par Jim_Nastiq dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/06/2007, 15h11

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