Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

declencher un messagebox pour une mauvaise saisie dans un formulaire...??

2 réponses
Avatar
sab
Bonjour à toutes et à toutes

Je voudrais declencher un MsgBox d'alerte ,quand en sortant d'un
textbox
on a pas une date valide et du type jj/mm/yy et d'un autre text box
une heure valide et du type: hh:mm

Merci par avance

2 réponses

Avatar
Jpmonnier
Bonsoir,
Tu écris ce code , ou quand tu valides par ok ta userform
on avec private sub _change dans tas ListBox

après validation Ok
'(ME = userform; TE_DATE = nom de ta listbox)
If IsDate(Me.TE_Date) = False Or Me.TE_Date = "" Or Len(Me.TE_Date) <> 10
Then
MsgBox "Date incorrecte, format = jj/mm/aaaa"
Me.TE_Date.SetFocus
Exit Sub
End If

ou dans ta ListBox

Private Sub TE_DATE__Change()

If IsDate(Me.TE_Date) = False Or Me.TE_Date = "" Or Len(Me.TE_Date) <> 10
Then
MsgBox "Date incorrecte, format = jj/mm/aaaa"
Me.TE_Date.SetFocus
Exit Sub
End If
End Sub

Tu écris la même chose pour la ListBox de tes heures

--
Cordialement

"sab" a écrit dans le message de
news:
Bonjour à toutes et à toutes

Je voudrais declencher un MsgBox d'alerte ,quand en sortant d'un textbox
on a pas une date valide et du type jj/mm/yy et d'un autre text box une
heure valide et du type: hh:mm

Merci par avance




Avatar
stéphane
Bonjour,

Regarde la réponse que je t'ai donné le 08/09 (comment préformater les
textbox d'un formulaire) ci-dessous :
Au déclenchement de l'évènement EXIT si la date n'est pas valide le focus
reste sur le textbox (cancel = true).
il suffit de remplacer cancel = true par ton msgbox .


par exemple pour avoir le format date avec le code ci-dessous

Private Sub TextBox1_Change()

Dim Valeur As Byte
TextBox1.MaxLength = 14 'nb caractères maxi autorisé dans le textbox

Valeur = Len(TextBox1)
Select Case Valeur

Case 2, 5
TextBox1 = TextBox1 & "/"
Case 8
TextBox1 = TextBox1 & " "
Case 11
TextBox1 = TextBox1 & ":"

End Select
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(TextBox1.Value) Then Cancel = True
End Sub





"sab" a écrit dans le message de news:

Bonjour,

Sur un formulaire (userform) certains textbox doivent etre en Euro (ex:
1,50? ) d'autres en dollars et enfin un text box doit etre en
jj/mm/aa hh:mm

Comment faire pour qu'à la sortie du textbox (j'imagine qu'il faut
choisir l'evenement "exit" ) ils soient bien formatés et qu'ils
s'affichent dans le textbox.
Un grand merci d'avance...







"sab" a écrit dans le message de news:

Bonjour à toutes et à toutes

Je voudrais declencher un MsgBox d'alerte ,quand en sortant d'un textbox
on a pas une date valide et du type jj/mm/yy et d'un autre text box une
heure valide et du type: hh:mm

Merci par avance