Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1622 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Monitoring d'applications Excel et Access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Monitoring d'applications Excel et Access

n°2038289
leusha
Posté le 25-11-2010 à 10:06:35  profilanswer
 

Bonjour,  
 
J'ai 4 postes sous Windows XP. Sur chaque poste, plusieurs "robots" (acquisition/dispatching de données, analyse des données, reporting) développé en VBA sous Excel et Access.  
 
L'un des problèmes est que les robots plantent relativement souvent (certains sont tellement mal développés qu'ils plantent tous les jours), et comme je ne peux pas passer mon temps à monitorer les 4 postes, je cherche une solution ou c'est une application qui monitorerait les robots et qui m'enverrait un e-mail lorsque l'un des robots à planté.  
 
J'ai déjà essayé d'installer VNC, mais cela fonctionne très mal (les 4 postes utilisent souvent 100% du CPU, donc l'affichage de l'écran met 3 plombes, j'ai plus vite fait de me lever et d'aller directement dans la salle serveurs).  
 
D'avance, merci de votre aide.

mood
Publicité
Posté le 25-11-2010 à 10:06:35  profilanswer
 

n°2038515
Xxxaaavvv
Posté le 25-11-2010 à 18:26:30  profilanswer
 

Sans en savoir plus sur les applications, on va pas pouvoir t'aider :o
 
Tu veux juste surveiller les process ?
 

n°2038962
leusha
Posté le 29-11-2010 à 09:15:23  profilanswer
 

Bonjour,
 
Les robots sont des applications excel ou access qui tournent en permanence. Ce ne sont pas des .exe, mais des .mdb ou des .xls. Donc les robots tournent sous les process ACCESS.EXE et EXCEL.EXE.
 
Le monitoring de process ne suffit pas, puisque si le robot plante, un message d'erreur s'affiche (genre "l'indice n'appartient pas à la selection" avec des boutons "fin" ou "débogage" ) et le process reste ouvert (tant que le message d'erreur est à l'écran).
 
Ce qui m'intéresse, c'est de savoir que l'application à planté, c'est tout. Je ne peux pas non plus modifier les robots pour faire de la gestion d'erreur par manque de temps.

n°2038963
Xxxaaavvv
Posté le 29-11-2010 à 09:19:18  profilanswer
 

T'aura plus vite fait de rejouter de la gestion d'erreur dans les process (sans regarder le code...).
Au moins les applis se fermerait comme il faut sur un plantage, et tu te
ferais moins chier vu que le monitoring de process suffirait enfin.

n°2038964
Xxxaaavvv
Posté le 29-11-2010 à 09:20:35  profilanswer
 

et d'ailleur sur la gestion d'erreur tu devrais avoir moyen de renseigner un log, et en surveillant ce log, de te faire envoyer un e-mail.

n°2038969
leusha
Posté le 29-11-2010 à 09:46:12  profilanswer
 

Qu'est ce que tu entends par "gestion d'erreur dans les process" ?
 
Aurais-tu un exemple ?

n°2038972
Xxxaaavvv
Posté le 29-11-2010 à 10:06:00  profilanswer
 

leusha a écrit :

Qu'est ce que tu entends par "gestion d'erreur dans les process" ?
 
Aurais-tu un exemple ?


 
 
les erreurs dont tu parle sont des erreurs "non gérées".
 
en gros VBA ne sait pas quoi faire et te pose la question : débugage ? ou pas ?
 
 
faire une gestion d'erreur
 
Exemple, ma fonction VBA suivante permet de supprimer un Onglet dans Excel, le code en rouge permet de faire en sorte qu'elle ne "plante jamais"
 

Citation :


' = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
' Procédure   : fg_SupprimeOnglet
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' Création    : 09/02/2008
' Auteur      : Xavier Ferrer
' Version     : 1.0
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' Entrée      : strNom -> nom de la Onglet Excel à creer dans le classeur actif
' Sortie      : booléen 'True' si succès, 'False' sinon
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
' Description : Suppression d'une Onglet Excel selon le nom spécifié (et si elle existe)
' = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Public Function fg_SupprimeOnglet(strNomOnglet As String) As Boolean
On Error GoTo fg_SupprimeOnglet_Error
 
   fg_SupprimeOnglet = False
   With ActiveWorkbook
      If fg_ExistanceOnglet(strNomOnglet) Then
         Application.DisplayAlerts = False
         .Worksheets(strNomOnglet).Delete
         Application.DisplayAlerts = True
      End If
   End With
   fg_SupprimeOnglet = True
 
Exit Function
fg_SupprimeOnglet_Error:

End Function
 


 
Par contre toi au lieu de ne rien faire, t'aurais interret a te faire une routine de création de fichier log d'erreur, et de dire a l'application de se fermer...
 
puis tu "copie"-"colle" ta gestion d'erreur partout, dans chaques fonctions, chaques procédures, chaques évenements de tes "robots"...
 
un petit journée de boulot :o
 
 
 
 

n°2039132
leusha
Posté le 29-11-2010 à 18:14:56  profilanswer
 

ça c'est de la gestion d'erreur intégrée... rien à voir avec de la gestion de process...
si j'avais le temps de modifier le code-source je le ferai, mais ce n'est pas le cas.
 
Merci quand même de ton aide.

n°2039134
Xxxaaavvv
Posté le 29-11-2010 à 18:22:30  profilanswer
 

techniquement, je ne vois pas comment monitorer un script VBA qui est en "pause" (cad qui attend une action utilisateur) à cause d'une erreur non gérée.
 
ptetre en détectant la fenêtre qui pose la question ?
 
mais la c'est de la programation windows.
en VBA je ne pense pas que t'ai la solution.
 
et a mon avis tu passeras moins de temps a rajouter la gestion d'erreur intégrée :D
(ou la faire rajouter...)


Message édité par Xxxaaavvv le 29-11-2010 à 18:23:19
n°2039196
leusha
Posté le 30-11-2010 à 08:17:50  profilanswer
 

"en VBA je ne pense pas que t'ai la solution. " -> justement, il n'a jamais été question de le faire VBA. Relis ma question.
 
"mais la c'est de la programation windows." -> effectivement j'ai trouvé un moyen avec AutoIT de détecter l'apparition d'une telle fenêtre.

mood
Publicité
Posté le 30-11-2010 à 08:17:50  profilanswer
 

n°2040183
otobox
Maison fondée en 2005
Posté le 06-12-2010 à 00:31:05  profilanswer
 

Il existe des codes à lancer dans chaque projets vba qui rajoutent automatiquement des gestions d'erreur dans toutes les procédures et fonction et qui les tracent sur un log.
Je n'en ai pas sous la main, mais j'en ai déjà vu fonctionner plutôt pas mal.


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Monitoring d'applications Excel et Access

 

Sujets relatifs
VBA Fermer plusieurs applications EXCEL en cascade (taskkill?)Envoi mail plusieurs destinataires (excel)
[VBS] Erreur WScript.CreateObject avec runtime access 2003Application Excel
Récupérer toutes les instances d'Exceltri tout simple sous excel
barre de défilement d'un mémo (Access 2003)Besoin d'aide sur une macro Excel
[Symbian] Widgets & Applications Web pour Nokia 
Plus de sujets relatifs à : Monitoring d'applications Excel et Access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR