Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction SetFocus

  • Initiateur de la discussion Initiateur de la discussion Benoit
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Benoit

Guest
Bonjour,

Voici un petit bout de code :

Private Sub TextBox30_AfterUpdate()
'
' Permet de valider si le contenu du textbox
' est numérique
'
If IsNumeric(TextBox30.Value) = False Then
MsgBox "Vous devez entrer une valeur numérique Exemple : 3456.32", vbOKOnly + vbInformation
TextBox30.Value = ""
TextBox30.SetFocus

Exit Sub
End If

End Sub

Après la mise à jour du champ TextBox30, la macro vérifie que l'information entrée est numérique.

Si non :
- un message s'affiche à l'utilisateur
- la valeur du TextBox est remis à vide

Là ou ça accroche, c'est que j'aimerais que le curseur se replace immédiatement dans le TexteBox30 et c'est ce que je croyais que ferais la commande :

TextBox30.SetFocus.

Après avoir cliqué sur OK, le TextBox se remet bien à vide mais c'est le TextBox suivant qui reçoit le focus et non celui qui était en erreur...

Merci !
 
Salut Benoit,

A mon avis, il serait préférable de placer ton code dans l'évènement "BeforeUpDate", comme ceci :

Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox2.Value <> "" Then
If IsNumeric(TextBox2.Value) = False Then
MsgBox "Vous devez entrer une valeur numérique Exemple : 3456.32", vbOKOnly + vbInformation
TextBox2.Value = ""
Cancel = True
End If
End If
End Sub

Cela te permet d'annuler la saisie (Cancel = True) avant de passer au contrôle suivant. Le SetFocus n'est pas nécessaire à ce moment précis.

A+
Horatio
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
13
Affichages
616
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…