manekimashimaro
Messages postés8Date d'inscriptionvendredi 6 août 2010StatutMembreDernière intervention31 janvier 2011
-
30 août 2010 à 14:57
the_little_big_man
Messages postés86Date d'inscriptionlundi 22 janvier 2007StatutMembreDernière intervention14 février 2011
-
30 août 2010 à 16:48
Bonjour,
Je reviens vous voir pour une question que je n'arrive pas à solutionner !!!
Je souhaiterais créer un MsgBox dans le contenu varierait.
Je m'explique, je souhaite informer l'utilisateur du programme que je développe qu'il y a une erreur de saisie. Je sais le faire, mais lorsqu'il y a plusieurs erreurs, il y a autant de MsgBox qui s'ouvre. Ce que je souhaiterais, c'est n'en avoir qu'une seule avec les messages correspondant à chaque erreur !!
Ce que je fais actuellement :
Sub ErrValeur(Err As Integer)
Dim Msg As String, MsgErr As String, Style As Long, Title As String, Reponse As Long
Select Case ErrV
Case 1
MsgErr = "La valeur 11 indiquée n'est pas valide."
Case 2
MsgErr = "La Valeur V12 indiquée n'est pas valide."
Case 3
MsgErr = "Veuillez indiquer la valeur 13."
Case 4
MsgErr = "Veuillez indiquer la valeur 14."
Case 5
MsgErr = "La valeur 15 indiquée n'est pas valide."
End Select
Msg = MsgErr
Style = vbOKOnly + vbExclamation
Title = "Erreur de Saisie"
Reponse = MsgBox(Msg, Style, Title)
End Sub
***Merci à NHenry !!!***
Et où je l'utilise :
Private Sub Des_Click()
Dim VHT1 As Integer, VCh1 As Single, VDFP As Integer
V12 = TOTO
If V12 = 0 Then
Call ErrValeur(1)
End If
...
...
End Sub
Dois-je plutôt utiliser un GoTo Err ??
Je suis un peu perdu !!!!
D'avance merci.
the_little_big_man
Messages postés86Date d'inscriptionlundi 22 janvier 2007StatutMembreDernière intervention14 février 2011 30 août 2010 à 16:30
j'avais mal compris la question .
pourqoui tu ne fais pas une variable errString as string que tu déclare en public.
lorsque tu rencontre une erreur, tu concatene les message dans cette variable... il te suffit apres d'afficher ce message dans ta textbox
A good excercise for the Heart is to bend down and help another up...
the_little_big_man
Messages postés86Date d'inscriptionlundi 22 janvier 2007StatutMembreDernière intervention14 février 2011 30 août 2010 à 15:31
si tu veux utiliser le goto err, il faut que tu utilise le numéro de l'erreur. par exemple pour ton "MsgErr = "La valeur 11 indiquée n'est pas valide." si c pour signale qu'on a fourni du texte au lieu d'un chiffre tu aura erreur numéro 13 : type dismatch
du coup tu fais :
sub get_valeur()
dim valeur as integer
on error goto ErrHandler
valeur="toto" ' ici on déclare un integer mais on fourni un string donc erreur de type
exit sub ' tu dois pourvoir sortir sans executer la gestion d'erreur
erroHandler:
select case err.number
case 13
msgbox "La valeur 11 indiquée n'est pas valide."
case ***
msgbox "...."
end select
end sub
A good excercise for the Heart is to bend down and help another up...
manekimashimaro
Messages postés8Date d'inscriptionvendredi 6 août 2010StatutMembreDernière intervention31 janvier 2011 30 août 2010 à 15:53
Salut The Little Big Man,
Je te remercie pour ta réponse.
Mon problème n'est pas la gestion des erreurs.
Je souhaite avoir, dans un MsgBox toutes les erreurs rencontrées lors de l'exécution de mon programme.
La dernière question, mal formulée à priori , était en fait, est-ce que mon souhait est réalisable avec un GoTo Err ?
Je souhaiterais que vous m'aiguilliez vers une solution que je n'aurais pas vu !!!!
D'avance merci !!!
ManekiMashiMaro
Vous n’avez pas trouvé la réponse que vous recherchez ?
manekimashimaro
Messages postés8Date d'inscriptionvendredi 6 août 2010StatutMembreDernière intervention31 janvier 2011 30 août 2010 à 16:44
Mais c'est que ce n'est pas bête du tout !!!!
Je n'y avais pas pensé !!!
Je vais essayer de mettre ça en place et je te tiens au courant !!!! (ça risque de prendre un peu de temps !!! )