Ouvrir une MsgBox que si l'autre MsgBox n'a pas été ouverte

Résolu
maxou1704 Messages postés 9 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 13 janvier 2010 - 5 janv. 2010 à 14:36
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 6 janv. 2010 à 08:44
Bonjour, voilà j'ai un souci avec ce code


For i = 1 To 10
x(i) = CSng(Val(pnlSaisieX.Controls("txtSaisieX" & i).Text)) 'On met au
y(i) = CSng(Val(pnlSaisieY.Controls("txtSaisieY" & i).Text)) 'On met au
m(i) = CSng(Val(pnlSaisieM.Controls("txtSaisieM" & i).Text)) 'On met au
If x(i) > 20 Or x(i) < -20 Or y(i) > 20 Or y(i) < -20 Then
MsgBox("Erreur dans la saisie",MsgBoxStyle.DefaultButton2, "Erreur")
End If
Next

MsgBox("Votre saisie est bonne", MsgBoxStyle.DefaultButton1, "Saisie")
End If

J'ai un tableau de 10cases. Dès que le "If" est "vrai" un MsgBox (Erreur) apparait, c'est à cause de la boucle. Mais comment faire pour ne l'afficher qu'une seule fois même s'il y a plusieurs erreur?
Et comment afficher une autre MsgBox (Saisie) si la MsgBox (erreur) n'est pas apparu à l'écran?

4 réponses

Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
5 janv. 2010 à 16:18
salut
voila un exemple :
dim i as long,errr as boolean
errr = false
For i = 1 To 10
x(i) = CSng(Val(pnlSaisieX.Controls("txtSaisieX" & i).Text)) 'On met au
y(i) = CSng(Val(pnlSaisieY.Controls("txtSaisieY" & i).Text)) 'On met au
m(i) = CSng(Val(pnlSaisieM.Controls("txtSaisieM" & i).Text)) 'On met au
'il y a une erreur on quitte la boucle
If x(i) > 20 Or x(i) < -20 Or y(i) > 20 Or y(i) < -20 Then
errr = true
MsgBox("Erreur dans la saisie",MsgBoxStyle.DefaultButton2, "Erreur")
exit for
End If
Next
'si errr est toujours false c'est qu'il y a pas d'erreur
if errr = false then MsgBox("Votre saisie est bonne", MsgBoxStyle.DefaultButton1, "Saisie")
End If 



Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie
3
Calade Messages postés 1204 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
5 janv. 2010 à 15:53
Bonjour,

Un booléen par exemple mis à True dès que la msgbox a été affichée une fois et évidemment testé avec les autres conditions avant l'affichage de ladite msgbox.


Calade
0
maxou1704 Messages postés 9 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 13 janvier 2010
5 janv. 2010 à 19:51
Merci beaucoup, sa marche parfaitement.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 janv. 2010 à 08:44
j'adore le DefaultButton2...

MsgBox("Erreur dans la saisie",MsgBoxStyle.DefaultButton2, "Erreur")

ici, on affiche un seul bouton par default (VbOKOnly)
du coup, je ne vois pas bien l'interet de ce flag...

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
Rejoignez-nous