Bonjour,
Je rencontre un petit souci avec mes userforms concernant la gestion des erreurs. J'ai commencé par gérer les erreurs possibles en utilisant une fonction de validation des données (qui va vérifier au préalable que des numéros sont bien rentrés dans une case où doivent figurer des numéros par exemple).
Cependant, ce n'était pas suffisant et j'ai mis des On Error GoTo mais toujours en gérant au cas par cas. Par exemple, j'avais une combobox (de 1 à 6) qui fixait la taille d'un tableau qui apparaît sur l'userform et si l'utilisateur rentrait une lettre ça plantait (comme je faisais une boucle avec ma ComboBox.value)
Du coup j'ai mis un
Mais bon, c'est toujours très ciblé. Par exemple, dans une autre fonction, je créé des répertoires en fonction d'un chemin défini par plusieurs textbox dans mon formulaire. J'avais pas prévu qu'un espace après le contenu de la textbox allait faire planter l'application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 On Error GoTo WrongValue 'code WrongValue: If Err.number = 13 Then MsgBox "Attention chaque liste à choix doit avoir une valeur numérique" ComboBox2.Value = 1 Resume Next End If
Du coup, je corrige au fur et à mesure mais j'aimerais avoir une sorte de gestion d'erreur plus globale (qui ne soit pas définie dans chaque fonction ou sub) qui dise : si erreur, j'enregistre le numéro d'erreur et la ligne dans un fichier texte puis je quitte tout)
Le problème étant surtout que quand l'utilisateur utilise par exemple le débogage ou fin dans la fenêtre d'erreur, les fichiers excel ne se ferment pas correctement et cela force l'utilisateur à tuer les process excel dans le gestionnaire de tâche pour relancer le formulaire.
Pour l'instant j'ai contourné le problème avec un batch qui au préalable tue tous les process excel mais c'est pas super propre. J'espère avoir été clair. Merci
Partager