MessageBox avec messages différents dans le cadre d'une gestion d'erreur !!! [Résolu]

Messages postés
8
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
31 janvier 2011
- - Dernière réponse : NHenry
Messages postés
14570
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
- 27 août 2010 à 18:10
Bonjour à tous !!!

C'est la première fois que je viens directement à vous pour la résolution de mon problème, j'espère que je serai suffisamment claire dans mes explications !!!
Voilà, pour la gestion des erreurs d'un programme que je suis en train d'élaborer, j'aimerais créer une MsgBox dont le message changerais en fonction d'une variable. Je travaille sous du Excel 2003 et j'utilise VBA.

Pour l'instant, ça donne ça :

Sub ErrValeur(i As Integer)
Dim Msg, Msgi, Style, Title, Reponse
Msg = Msgi
Style = vbOKOnly + vbExclamation
Title = "Erreur de Saisie"
Reponse = MsgBox(Msg, Style, Title)
Select Case i
Case Is = 1
Msgi = "La valeur V1 indiquée n'est pas valide."
Case Is = 2
Msgi = "La Valeur V2 indiquée n'est pas valide."
Case Is = 3
Msgi = "Veuillez indiquer la valeur de V3 utilisée."
Case Is = 4
Msgi = "Veuillez indiquer la valeur de V4 utilisée."
Case Is = 5
Msgi = "La valeur V5 indiquée n'est pas valide."
End Select
End Sub

Que j'utilise ici :

Private Sub Des_Click()
Dim V1 As Integer, V2 As Single, V5 As Integer

V1 = VF1
If V1 = 0 Then
Call ErrValeur(i = 1)
End If
...
End Sub

Lorsque je lance le programme, la MsgBox apparait (comme je le souhaite), mais il n'y a pas de Msg affiché au sein de celle-ci !!!
J'espère ne pas avoir fait de grosse erreur de programmation, mais si c'est le cas, désolée !!!!

D'avance, merci de votre aide !!!!!!!!!!!!!!!!
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
14570
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
136
3
Merci
Bonjour,

Déjà tu as posté dans la catégorie .NET pour du VBA.

Ensuite, dans ta sub :
Sub ErrValeur(i As Integer)
Dim Msg, Msgi, Style, Title, Reponse
Msg = Msgi
Style = vbOKOnly + vbExclamation
Title = "Erreur de Saisie"
Reponse = MsgBox(Msg, Style, Title)
Select Case i
Case Is = 1
Msgi = "La valeur V1 indiquée n'est pas valide."
Case Is = 2
Msgi = "La Valeur V2 indiquée n'est pas valide."
Case Is = 3
Msgi = "Veuillez indiquer la valeur de V3 utilisée."
Case Is = 4
Msgi = "Veuillez indiquer la valeur de V4 utilisée."
Case Is = 5
Msgi = "La valeur V5 indiquée n'est pas valide."
End Select
End Sub 


Pense à toujours typer fortement tes variables :
Dim Msg, Msgi, Style, Title, Reponse
deviendrais (sauf erreur de ma part :
Dim Msg as String, Msgi as String, Style As Long, Title as String, Reponse As Long

Ensuite, mets ton MsgBox après ton Select Case

Mets des noms utiles à tes variables et tes paramètre, i comme nom de paramètre, ce n'est pas très clair

Ton Select Case :
Select Case i
Case Is = 1

à la place de "Case Is = 1", mets juste "Case 1"

Dans le code d'appel :
Call ErrValeur(i = 1)

i=1 retournera une expression booléenne, si tu veux que ton paramètre i ait une valeur précise :
Call ErrValeur(1)
Fonctionnera.

Mon site

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
8
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
31 janvier 2011
0
Merci
Merci Beaucoup, Beaucoup !!!

J'y vois un peu plus clair !!!
Je vais essayer tout ça, et je ferai plus attention à où je poste mes messages !!!

En ce qui concerne le nom de mes variables, je les avais changer pour avoir un exemple générique !!!!!!!

Merci NHenri et à bientôt sur le forum !!!

MMM
Commenter la réponse de manekimashimaro
Messages postés
8
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
31 janvier 2011
0
Merci
Ca marche Super !!!
Merci !!!!
Commenter la réponse de manekimashimaro
Messages postés
14570
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
136
0
Merci
Bonjour,

Pense à mettre "Réponse acceptée" sur la réponse qui t'as aidée pour résoudre ton pb :)

Mon site
Commenter la réponse de NHenry