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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Trapper un msg d'erreur dans VBA

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Trapper un msg d'erreur dans VBA

n°1458932
cdrikp
Posté le 17-10-2006 à 16:54:32  profilanswer
 

Bonjour,
 
C'est  mon premier post ici donc si je ne respectai pas une regle merci de m'en faire la remarque.
 
Je bosse sous VBA et j'ai crée un formulaire associé a une table; je peux donc inserer et pour supprimer j'ai créé mon petit bouton qui vas bien.
la table est simple elle est composé de 3 champs avec les 2 premiers en clef primaire
Lorsque je tente d'inserer un doublon il me balance le message d'erreur "...doublon.."
et me replace sur le dernier champ. A ce moment si j'appuis sur supprimer il me demande confirmation, et me vire non pas la ligne en cours (celle qui n'as put etre inserer) mais la ligne "original".  
J'aimerai savoir comment trapper le message d'erreur "doublon" pour y associer du code.
 
Merci d'avance
Cédric

mood
Publicité
Posté le 17-10-2006 à 16:54:32  profilanswer
 

n°1459254
agkklr
Posté le 18-10-2006 à 01:36:49  profilanswer
 

Fais un "On Error Resume Next", suivi d'un catch de l'erreur :
If err.Number<>0 Then
 MsgBox err.Number
End If
 
Reproduis le cas où tu as un doublon, et relève le numéro de l'erreur. Eventuellement, tu peux également relever le texte de l'erreur (err.Msg il me semble, ou un truc comme ça).
A partir de là, tu pourras traiter l'erreur :
 
On Error Resume Next
[code]
If err.Number = [Ton numéro d'erreur] Then
 [code relatif à l'erreur]
End If
 
Tu peux éventuellement ajouter une clause plus restrictive au test en ajoutant " And err.Msg=[Message d'erreur]


Message édité par agkklr le 18-10-2006 à 01:37:01

---------------
"Mon modèle, c'est moi-même."
n°1459345
tegu
Posté le 18-10-2006 à 10:42:55  profilanswer
 

Pour traiter de manière plus « industrielle » les erreurs il suffit d'utiliser « On Error Goto label » comme syntaxe et, dans la même fonction, de mettre une ligne déclarant la vignette « label: » pour y insérer le code de gestion des erreurs.
Oui c'est archaïque...

n°1459403
cdrikp
Posté le 18-10-2006 à 11:37:22  profilanswer
 

En fait je ne peut pas mettre ce code car j'ai généré automatiquement ce formulaire, seul le bouton "supprimer" a était rajouté par mes soins.
Mon probleme viens du fait que je ne le vois pas passer par le code.
Sinon j'ai deja des instructions "On error" dans mes fonctions, ce qu'il me faudrait c'est une espece de "On error" Global a mon formulaire.
 
En tout cas merci de votre aide a tous les deux


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

  Trapper un msg d'erreur dans VBA

 

Sujets relatifs
Une erreur de compilation incompréhensible ...une erreur en C que je n'arrive pas à résoudre !
Erreur odbc postgres : "The # of binded parameters < the # of pa ..."[VBA excel] Récupérer dans 1 listbox le resultat d'1 AutoFilter!résolu
utilise les "nom" excel dans une macro VBAmanipulation de graphiques avec VBA sous Access 2k
Problème publipostage automatisé Word VBALien Outlook Calendar et VBA Access
Fonction excel sous macro VBAerreur pg_restore: large_object
Plus de sujets relatifs à : Trapper un msg d'erreur dans VBA


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