Récupérer le focus avec événement _Exit

  • Initiateur de la discussion Initiateur de la discussion mécano41
  • 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 !

mécano41

XLDnaute Accro
Bonjour,

Je n'ai trouvé aucun sujet du forum qui corresponde et les explications de l'aide sur _Exit ne m'apportent rien alors... quelqu'un pourrait-il m'aider? Tout est expliqué dans le fichier.

Merci d'avance,

Cordialement
 

Pièces jointes

Bonjour
Teste comme ceci
VB:
Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If TextBox1.Value = "" Then
    MsgBox "Il faut donner une valeur!"
    Cancel = True
    TextBox1.SetFocus
  Else
    TextBox2.SetFocus
  End If
End Sub
 
Bonjour Mécano, M12, bonjour le forum,

Peut-être comme ça :

VB:
Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then
    MsgBox "Il faut donner une valeur!"
    Cancel = True
End If
End Sub

Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.TextBox2
    If IsNumeric(.Value) = False Or .Value < 100 Then
        MsgBox "Il faut donner une valeur >100 !"
        .SelStart = 0
        .SelLength = Len(.Value)
        Cancel = True
    End If
End With
End Sub

Private Sub CommandButton1_Click()
Unload Me
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then End
End Sub
 
Re,

Dans mon fichier réel j'avais prévu une interdiction de fermer l'USF par la croix et j'avais donc déjà un UserForm_QueryClose.

J'ai mis dans l'exemple joint la même condition associée. Tout fonctionne (y compris dans mon fichier réel) mais je me pose une question :

- pourquoi, si l'on place un seul "Cancel=true" entre End if et End sub au lieu des deux placés dans chaque test, le fichier plante-t-il? (sortie obligatoire pas Ctrl+Alt+Sup)...il doit y avoir une finesse qui m'échappe! Si quelqu'un sait...j'aimerais comprendre.

Cordialement

PS : je n'ai pas mis de contrôle numérique des entrées car c'est fait par ailleurs (Module de classe)
 

Pièces jointes

Dernière édition:
- 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

Discussions similaires

Réponses
3
Affichages
251
Retour