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

Retour automatique dans un textbox après message d'erreur ?

2 réponses
Avatar
Migamamba
Bonjour à tous,

1ère question :

J'ai un userform dans lequel j'ai placé plusieurs TEXTBOX.
J'ai placé un msg d'erreur (si texte au lieu de numérique = alerte !)
Jusque là c'est O.K...
MAIS lorsque je clique sur ma boîte d'alerte pour effectuer la bonne
saisie, qui peut me dire pour quelle raison le curseur ne revient pas dans le
textbox où s'est produite l'erreur ?

Voici ma macro :

Private Sub BT_saisiepr1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If KeyAscii < 46 Or KeyAscii > 57 Then
KeyAscii = 0
MsgBox "Vous devez ABSOLUMENT Entrer un nombre !", vbExclamation
End If
End Sub


2ème question (puisque j'y suis.!)

Existe-t-il une formule qui m'éviterait de saisir ce morceau de prgramme
(supra) dans tous mes TEXTBOX (25 !) ?
Merci d'avance..

2 réponses

Avatar
JLuc
1ere reponse
Tout simplement parce que tu ne lui dis pas de revenir apres l'erreur :

Private Sub BT_saisiepr1_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
On Error Resume Next
If KeyAscii < 46 Or KeyAscii > 57 Then
KeyAscii = 0
MsgBox "Vous devez ABSOLUMENT Entrer un nombre !",
vbExclamation
*BT_saisiepr1.Setfocus*
End If
End Sub

2eme reponse
Je sais pas, desole
JLuc
Bonjour à tous,

1ère question :

J'ai un userform dans lequel j'ai placé plusieurs TEXTBOX.
J'ai placé un msg d'erreur (si texte au lieu de numérique = alerte !)
Jusque là c'est O.K...
MAIS lorsque je clique sur ma boîte d'alerte pour effectuer la bonne
saisie, qui peut me dire pour quelle raison le curseur ne revient pas dans le
textbox où s'est produite l'erreur ?

Voici ma macro :

Private Sub BT_saisiepr1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If KeyAscii < 46 Or KeyAscii > 57 Then
KeyAscii = 0
MsgBox "Vous devez ABSOLUMENT Entrer un nombre !", vbExclamation
End If
End Sub


2ème question (puisque j'y suis.!)

Existe-t-il une formule qui m'éviterait de saisir ce morceau de prgramme
(supra) dans tous mes TEXTBOX (25 !) ?
Merci d'avance..


Avatar
Migamamba
Bonjour JLuc,

Merci pour ta réponse mais hélas et bizarrement, j'avais déjà essayé
"BT_SAISIEpr1.setfocus" mais en vain ?
J'en perds mon latin* (VBA ici ) ??
Où pourrait bien se cacher le mystère ?
Cordialement



Bonjour à tous,

1ère question :

J'ai un userform dans lequel j'ai placé plusieurs TEXTBOX.
J'ai placé un msg d'erreur (si texte au lieu de numérique = alerte !)
Jusque là c'est O.K...
MAIS lorsque je clique sur ma boîte d'alerte pour effectuer la bonne
saisie, qui peut me dire pour quelle raison le curseur ne revient pas dans le
textbox où s'est produite l'erreur ?

Voici ma macro :

Private Sub BT_saisiepr1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If KeyAscii < 46 Or KeyAscii > 57 Then
KeyAscii = 0
MsgBox "Vous devez ABSOLUMENT Entrer un nombre !", vbExclamation
End If
End Sub


2ème question (puisque j'y suis.!)

Existe-t-il une formule qui m'éviterait de saisir ce morceau de prgramme
(supra) dans tous mes TEXTBOX (25 !) ?
Merci d'avance..