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 :

[Excel] - Connection à des données externes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Excel] - Connection à des données externes
    Bonjour à tous,

    J'ai dans un fichier Excel une feuille qui se connecte par l'intermédiaire de MicrosoftQuery à une base Oracle.

    Dans la majorité des cas pas de soucis.
    Cependant je travaille sur une ferme Citrix, c'est un Excel (2003) serveur.

    De temps en temps nous avons un ralentissement des serveurs, lorsque je met à jour les données (Resfresh), j'ai un temps d'attente trop long, et excel plante (pas de réponse).

    Je ne sais pas comment intercepter le fait que mon appli plante. Où qu'il y'a un soucis.

    Voici le code qui lance la mise à jour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ' ***** extraction octal des données de production *****
        Call DeclarationVariables
        Set wks = wkb.Worksheets("Extract_Octal")
        wks.Select
        'wkb.RefreshAll
        Selection.QueryTable.Refresh BackgroundQuery:=True
     
        Set wks = Nothing
        DoEvents
    Quelqu'un a t-il une idée

    Starec

  2. #2
    Membre éclairé Avatar de doringen
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut
    Je crois que le fait que l´appli plante ne peut pas vraiment être intercepté par l´appli elle-même, vu qu´elle est un peu trop occupée ... à planter justement.
    Un de mes collègues avait un problème identique et il utilise pour cela un compteur de temps: il sait que quand sa requète tourne "correctement", elle génère ses résultats en mettons 10 sec, 15 maximum, donc, si le compteur de temps dépasse 15 secondes et que rien n´est sorti, il fait interrompre la requète par le code et quitte excel après sauvegarde.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Re

    Pas bête ton truc, as-tu un bout de code.

    Starec

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Oui j'aimerai bien savoir comment on fait un compteur de temps aussi, pour ma culture personnelle

    Parce que, a part avec l'application OnTime, je vois pas trop
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  5. #5
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Un truc de ce genre la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
    Pris dans l'aide de l'application On Time..
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Pour le timer j'ai fait des tests, cela ne fonctionne pas, car en fait ma mise à jour est sur une seule ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Selection.QueryTable.Refresh BackgroundQuery:=True
    Une fois lancé je ne peux faire autre chose

    D'autres solutions ?

    Starec

  7. #7
    Membre éclairé Avatar de doringen
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut
    Malheureusement, le collègue en question est en vacances et il est le seul à utiliser ce truc.
    Cette discussion sur un chronomètre fournit toutefois de bons éléments de départ:
    http://www.developpez.net/forums/showthread.php?t=289798&highlight=temps
    Mon souci est que je suis pas un expert sur les dll et que je ne connais pas les propriétés et arguments exigés dans GetTickCount...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Public Declare Function GetTickCount& Lib "kernel32" ()
    '...
    Sub chrono()
    Dim depart As Double
    Dim actuel As Double
    depart = Now()
    actuel = GetTickCount&
    Loop Until depart - actuel < 0.0015
    Exit Sub
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [E-07] activer automatiquement des données externes excel
    Par ciel_ dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/11/2008, 11h33
  2. Exposition d'un objet en utilisant des données externes
    Par ocroquette dans le forum OpenGL
    Réponses: 2
    Dernier message: 21/11/2005, 21h49
  3. [EXCEL] Formatage des données
    Par Cupidon dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/11/2005, 21h32
  4. [Excel] Récupérer des données d'une base Access
    Par FoxDeltaSierra dans le forum Excel
    Réponses: 8
    Dernier message: 03/09/2005, 10h22
  5. Réponses: 3
    Dernier message: 25/07/2005, 09h40

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