Insérer MsgBox si erreur
Bonjour à tous,
Je travaille actuellement sur un projet de location d'auto, et j'aimerai insérer une MsgBox avec pour message "Informations incomplètes" par exemple si l'utilisateur valide un formulaire mais qu'il n'a pas saisi les données.
Car actuellement quand je valide le formulaire ça me met un message de débogage, c'est pas très beau
EDIT : Dans mon cas, c'est le formulaire de RETOUR des autos
Dans mon cas voici le code :
Private Sub Btn_Retour_OK_Click()
Dim nb As Integer
Dim j As Integer, nj As Integer
Dim prop As Integer, pos As Integer
init
nom = ComboBox1.Text
num_employe = CInt(TextBox1.Text)
num_voiture = CInt(TextBox2.Text)
verif_num_employe
verif_num_voiture
If vbool = 0 Then
prop = 0
pos = 4
nb = ce.Offset(ne, 3).Value
For j = 4 To 3 + nb
If num_voiture = ce.Offset(ne, j).Value Then
prop = 1
pos = j
End If
Next j
If prop = 1 Then
cvoiture.Offset(nk, 2).Value = "oui"
For nj = pos To 2 + nb
ce.Offset(ne, nj).Value = ce.Offset(ne, nj + 1).Value
Next nj
ce.Offset(ne, 3 + nb).Value = ""
nb = nb - 1
ce.Offset(ne, 3).Value = nb
ce.Offset(ne, 5).Value = ""
MsgBox "Le RETOUR du " & auto & " n°" & num_voiture & " est enregistre"
Unload Me
End If
End If
End SubJe ne sais pas où exactement insérer la MsgBox à chaque fois ça me fait une erreur 1004
Merci d'avance !
Bonjour Chankla
Pour ton bouton Valider retour , tu mets ce code :
Private Sub Btn_Retour_OK_Click()
Dim nb As Integer
Dim j As Integer, nj As Integer
Dim prop As Integer, pos As Integer
init
nom = ComboBox1.Text
If nom = "" Then
MsgBox "Veuillez sélectionner le nom de l'employé !!"
Exit Sub
End If
num_employe = CInt(TextBox1.Text)
num_voiture = CInt(TextBox2.Text)
verif_num_employe
verif_num_voiture
If vbool = 0 Then
prop = 0
pos = 4
nb = ce.Offset(ne, 3).Value
For j = 4 To 3 + nb
If num_voiture = ce.Offset(ne, j).Value Then
prop = 1
pos = j
End If
Next j
If prop = 1 Then
cvoiture.Offset(nk, 2).Value = "oui"
For nj = pos To 2 + nb
ce.Offset(ne, nj).Value = ce.Offset(ne, nj + 1).Value
Next nj
ce.Offset(ne, 3 + nb).Value = ""
nb = nb - 1
ce.Offset(ne, 3).Value = nb
ce.Offset(ne, 5).Value = ""
MsgBox "Le RETOUR du " & auto & " n°" & num_voiture & " est enregistre"
Unload Me
End If
End If
End SubBon courage
A+
Salut Chankla,
Voici un essai :
Private Sub Btn_Retour_OK_Click()
Dim nb As Integer
Dim j As Integer, nj As Integer
Dim prop As Integer, pos As Integer
init
If ComboBox1.Text = "" Then GoTo erreur
nom = ComboBox1.Text
num_employe = CInt(TextBox1.Text)
num_voiture = CInt(TextBox2.Text)
verif_num_employe
verif_num_voiture
If vbool = 0 Then
prop = 0
pos = 4
nb = ce.Offset(ne, 3).Value
For j = 4 To 3 + nb
If num_voiture = ce.Offset(ne, j).Value Then
prop = 1
pos = j
End If
Next j
If prop = 1 Then
cvoiture.Offset(nk, 2).Value = "oui"
For nj = pos To 2 + nb
ce.Offset(ne, nj).Value = ce.Offset(ne, nj + 1).Value
Next nj
ce.Offset(ne, 3 + nb).Value = ""
nb = nb - 1
ce.Offset(ne, 3).Value = nb
ce.Offset(ne, 5).Value = ""
MsgBox "Le RETOUR du " & auto & " n°" & num_voiture & " est enregistre"
Unload Me
End If
End If
Exit Sub
erreur:
MsgBox "Enregistrement abandonné, formulaire non-renseigné"
Unload Me
End SubMerci beaucoup pour votre aide à vous deux, ça a marché !!
Bonjour,
personnellement j'éviterais de faire un "Unload Me" si le combobox1 est vide...
Le message d'erreur avec la sortie de la sub est idéal, cela évite de "re lancer" le USF.
Mais je trouve que le message est de trop, vu que le reste des informations sont remplies automatiquement.
Moi je ne mettrais jusque :
If nom = "" Then Exit SubEn gros on clique sur valider et rien ne se passe... Et alors soit on "touche" à la liste de choix, soit on quitte.
@ bientôt
LouReeD