Monitoring d'applications Excel et Access - VB/VBA/VBS - Programmation
Marsh Posté le 25-11-2010 à 18:26:30
Sans en savoir plus sur les applications, on va pas pouvoir t'aider
Tu veux juste surveiller les process ?
Marsh Posté le 29-11-2010 à 09:15:23
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.
Marsh Posté le 29-11-2010 à 09:19:18
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.
Marsh Posté le 29-11-2010 à 09:20:35
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.
Marsh Posté le 29-11-2010 à 09:46:12
Qu'est ce que tu entends par "gestion d'erreur dans les process" ?
Aurais-tu un exemple ?
Marsh Posté le 29-11-2010 à 10:06:00
leusha a écrit : Qu'est ce que tu entends par "gestion d'erreur dans les process" ? |
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 : |
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
Marsh Posté le 29-11-2010 à 18:14:56
ç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.
Marsh Posté le 29-11-2010 à 18:22:30
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
(ou la faire rajouter...)
Marsh Posté le 30-11-2010 à 08:17:50
"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.
Marsh Posté le 06-12-2010 à 00:31:05
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.
Marsh Posté le 25-11-2010 à 10:06:35
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.