Msgbox à plusieurs messages

[Résolu]
Signaler
Messages postés
8
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
31 janvier 2011
-
Messages postés
86
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
14 février 2011
-
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.

6 réponses

Messages postés
86
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
14 février 2011

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...
Messages postés
8
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
31 janvier 2011

J'ai oublié de vous dire que je code sous VBA avec excel 2003 !!!
Messages postés
86
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
14 février 2011

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...
Messages postés
8
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
31 janvier 2011

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
Messages postés
8
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
31 janvier 2011

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 !!! )

Un Grand MERCI !!

MMM
Messages postés
86
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
14 février 2011

pas de quoi
et n'oublie pas d'initialiser (ou effacer le contenu de la variable) quand il se doit

A good excercise for the Heart is to bend down and help another up...