Position curseur dans textbox

jacks39

XLDnaute Junior
Bonjour à tous,

Dans un textbox d'un USF, j'effectue un contrôle de la saisie. Si la saisie ne correspond pas à la valeur souhaité, j'efface le contenu de la textbox et affiche un message d'erreur.
Je voudrais repositionner le curseur dans la textbox pour une nouvelle saisie. J'ai essayé plein de trucs, mais Sans succès. Le curseur se positionne toujours dans la textbox suivante. C'est pourtant certainement tout bête !

Merci pour votre aide !

Rany
 
G

Guest

Guest
Re : Position curseur dans textbox

Bonjour,

Faire les tests dans l'évènement BeforeUpdate du text box et mettre Cancel=true si le test echoue:
exemple (ici un textbox sensé recevoir une date) le focus restera dans le textBox TANT qu'il ne recevra pas un texte pouvant être interprété comme une date:
Code:
Private Sub tbDate_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
   if not isDate( tbDate.text) then 
            tbDate.text=format(Date,"dd/mm/yyyy") 'valeur par défaut
           Cancel = true
   else
      'si c'est une date
   End if
 ' ou test simple sur date:
'  Cancel = Not IsDate(tbDate)

End Sub

ATTENTION:cette méthode peut être contraignante, mettre une valeur par défaut qui réponde au test, permet à l'utilisateur de quitter le textBox.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 500
Messages
2 089 004
Membres
104 003
dernier inscrit
adyady__