gestionnaire d'erreur

B

Blandine

Guest
Dans les exemples de microsoft pour faire un gestionnaire d'erreur perso.

L'utilisation des lignes

ON ERROR....

n'exécute pas le code perso

EST-ce qu'il faut paramétré un éléments dans les réeférence pour rendre acrif ces procédures ?

MERCI
Blandine
 
T

Ti

Guest
non, tu n'as rien à déclarer

des exemples :

On Error goto Erreur
'lignes...
'lignes...
exit sub
Erreur:
là le gestionnaire d'erreurs qui n'est appelé qu'en cas d'erreur

ou alors
On Error Resume Next
'en cas d'erreur, continue (utile pour faire des tests, entre autres)
'lignes...
'lignes...

'remet le gestionnaire d'erreurs par défaut
On Error Goto 0
 
T

Thierry

Guest
Bonsoir Blandine,

"On error" tout seul ne peut rien executer...

soit c'est : on error resume next
soit c'est : on error go to .........

Par contre je ne comprends pas ta phrase "paramétré un éléments dans les référence pour rendre acrif ces procédures"...

Enfin moi si je veux qu'un code perso s'execute en cas d'erreur, il faut le baliser comme suit :

en debut de macro :

on error go to MonCodeEnCasErreur

...La macro....
......................

en fin de macro :

Exit Sub

MonCodeEnCasErreur:
...la macro qui doit faire ce que tu veux en cas d'erreur...

End Sub

Donc si tout la procédure se déroule sans erreur la macro s'arrête à "Exit Sub", si il y a une erreur, la macro passe directement au code après la balise "MonCodeEnCasErreur: "


J'espère que çà peut t'éclairer.
Bonne soirée

@+Thierry
 
B

Blandine

Guest
MERCI de bien vouloir regarder...

en lançant le fichier, j'obtiens une fenetre de VBA m'indiquant
erreur 55 etc.

alors que je souhaite boir un MsgBox "BLANDINE"

!!!!!!!!
 

Pièces jointes

  • ERREUR.xls
    22.5 KB · Affichages: 76
  • ERREUR.xls
    22.5 KB · Affichages: 76
  • ERREUR.xls
    22.5 KB · Affichages: 83
T

Thierry

Guest
Salut Blandine, Bonjour tout le monde...

OUH LA LA Pour un fichier d'erreur... c'est un fichier d'erreur !! çà m'a planté Excel !!

Règle numéro 1 : quand on teste une macro il est recommandé de ne pas la mettre en Private Sub Workbook_Open...
Surtout si tu mets le fichier dans le forum...

Car moi j'ai eu ton message "BLANDINE" jusqu'à je fasse CTRL ALT SUP TASK pour fermer Excel.... Puis de le ré_ouvrir en mode Security High avec Macro Désactivé...
Tu as fait une belle boucle... Avec un Message BLANDINE à l'infinie...
Donc je ne comprends pas pourquoi tu ne la pas eu ?

Règle numéro 2 : Copier intégralemant l'exemple d'une rubrique d'aide dans un module n'est pas forcément la solution... Il faut juste savoir s'en inspirer et savoir copier ce qui est utile....

Exemple :

Sub BlandineError()
On Error GoTo MonCodeEnCasErreur
Workbooks.Open Filename:="C:\WINNT\Profiles\te\Personal\e-mail.xls"
MsgBox "Pas d'erreur"
Exit Sub
MonCodeEnCasErreur:
MsgBox "BLANDINE le fichier n'existe pas"
End Sub

Si joint un fichier (testé sans erreur!!) avec la macro en action...

PS Blandine, heureusement que je me méfie toujours et que je n'avais pas un job en cours sur Excel quand j'ai ouvert ton fichier !!!

@+Thierry
 

Pièces jointes

  • blandine_error.xls
    26.5 KB · Affichages: 67
B

Blandine

Guest
Oups !!!

Excuse moi pour ce désagrément...

MERCI bcp pour ce bel exemple qui comme tant d'autre que j'ai ne fonctionne malheuresement pas...

Un fenêtre s'ouvre en affichant VBA (voir ci-joint) et s'affiche l'erreur 1004 mais pas de fenêtre via MsgBox.


... comme je posait ma toute première question je dois bien avoir à paramétré quelque chose dans excel ou visual !!!

MAIS QUOI ????

MERCI et @+
Blandine
 

Pièces jointes

  • PHOTO.zip
    35.8 KB · Affichages: 33
  • PHOTO.zip
    35.8 KB · Affichages: 37
  • PHOTO.zip
    35.8 KB · Affichages: 35
T

Thierry

Guest
Ahhhrgh,

Bonjour Blandine,

Donc on va récapituler depuis le début!

Quel OS ? (t'es pas sous mac au moins?)
Quelle version d'Excel? et quel servce pack ?
Quelle vesion de VB et quel VBA retail ?

Pour ce qui est des paramétrages, je ne vois pas ce qui pourrait te bloquer qu'en partie ? Surtout que la macro exemple ne contient vraiment rien de bien sorcier !!

Est-ce que quelqu'un connait ce problème ?

Si çà ne tenait qu'à moi, je désinstalle Offive et je réinstalle dans ces cas là!

bon Samedi
@+Thierry
 
T

Ti

Guest
il se peut que dans les options VBA, à l'onglet Général récupération d'erreurs, tu aies coché l'option "Arrêt sur toutes les erreurs".

En fait tu dois cocher l'option "Arrêt sur les erreurs non gérées".

On a d'ailleurs là une illustration des limitations de la programmation en utilisant un gestionnaire d'erreurs. Il suffit que le client ait indiqué Arrêt sur toutes les erreurs dans ses options pour que nos macros ne fonctionnent plus, ce qui peut être source de longues recherches... si on n'y pense pas immédiatement.
Ceci dit, si tu n'as pas toi-même coché cette option, alors là !...
 
B

Blandine

Guest
MERCI BCP à vous 2 et à Ti en particulier (UNE FOIS DE PLUS)

L'apllication a été envoyé sur un autre poste où cette option à été à priori cochée...

Nouvelle question :

Quel code dans mon application permettrait de test ou initialiser cette option sur un poste cible ?

Blandine
 
T

Thierry

Guest
Hello Blandine, Ti et tout le monde

Tiens ! jamais remarqué cette option de gestion d'erreur.... La sélection par défaut me convenant parfaitement.

Merci Ti pour cette information

Pour le faire en remote, Blandine, là je pense que pas bcp de stations doivent avoir ce genre d'option modifiée, car par défaut c'est bien "Arrêt sur les erreurs non gérées"

Donc par défaut la macro tournera comme tu veux, et entre-nous je vois pas bcp de users en train d'aller biduler dans les options de l'éditeur de VBA... (Enfin sans savoir ce qu'ils font, quoique !!!)

Enfin si quelqu'un a le code, çà peut être utile... c'est vrai que çà peut blinder un peu plus l'appli en question contre les "biduleurs".

bonne fin de dimanche
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
314 655
Messages
2 111 605
Membres
111 217
dernier inscrit
aladinkabeya2