SetFocus

Le
JPMonnier
Bonjour,
j'ai une suite de zone de texte de M5a à M10a
voici l'extrait du code
Private Sub M5A_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If M5A.Value <> "" Then
If Len(M5A) <> 4 Then
MsgBox "4 chiffres obligatoires"
M5A = ""
M5A.SetFocus
Exit Sub
End If
MC5a = True
Else
MC5a = False
End If
End Sub

Ceci pour chaque TextBox
En mode pas à pas,
Quand je passe sur le M5A.SetFocus,
Il le prend bien et le met bien à rien
Quand je passe sur Exit Sub,
il passe sur le TextBox suivant
qui correspond à l'ordre des TextBox défini dans mon UserForm

Quelqu'un a-t'il une idée ?
Merci d'avance
--
Cordialement
jpmonnier-nospam@neuf.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #18111731
Bonjour,

Utiliser Before_Update():

Private Sub TextBox_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
If condition Then
MsgBox "Erreur"
Cancel = True
End If
End Sub

JB
http://boisgontierjacques.free.fr/

On 11 déc, 12:27, "JPMonnier"
Bonjour,
j'ai une suite de zone de texte de M5a à M10a
voici l'extrait du code
Private Sub M5A_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If M5A.Value <> "" Then
  If Len(M5A) <> 4 Then
    MsgBox "4 chiffres obligatoires"
    M5A = ""
    M5A.SetFocus
    Exit Sub
  End If
  MC5a = True
Else
  MC5a = False
End If
End Sub

Ceci pour chaque TextBox
En mode pas à pas,
Quand je passe sur le M5A.SetFocus,
Il le prend bien et le met bien à rien
Quand je passe sur Exit Sub,
il passe sur le TextBox suivant
qui correspond à l'ordre des TextBox défini dans mon UserForm

Quelqu'un a-t'il une idée ?
Merci d'avance
--
Cordialement



michdenis
Le #18111721
essaie plutôt avec cet événement des textbox

Private Sub M5A_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)

et quand tu ne veux pas sortir du textbox parce qu'il y a une erreur
tu définis Cancel = True
Exit Sub

Tu n'es pas tenu d'inscrire : M5A.SetFocus


"JPMonnier" %
Bonjour,
j'ai une suite de zone de texte de M5a à M10a
voici l'extrait du code
Private Sub M5A_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If M5A.Value <> "" Then
If Len(M5A) <> 4 Then
MsgBox "4 chiffres obligatoires"
M5A = ""
M5A.SetFocus
Exit Sub
End If
MC5a = True
Else
MC5a = False
End If
End Sub

Ceci pour chaque TextBox
En mode pas à pas,
Quand je passe sur le M5A.SetFocus,
Il le prend bien et le met bien à rien
Quand je passe sur Exit Sub,
il passe sur le TextBox suivant
qui correspond à l'ordre des TextBox défini dans mon UserForm

Quelqu'un a-t'il une idée ?
Merci d'avance
--
Cordialement

JPMonnier
Le #18111821
Merci beaucoup
Pour la précision et le temps de réponse

--
Cordialement

"JPMonnier" news:%
Bonjour,
j'ai une suite de zone de texte de M5a à M10a
voici l'extrait du code
Private Sub M5A_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If M5A.Value <> "" Then
If Len(M5A) <> 4 Then
MsgBox "4 chiffres obligatoires"
M5A = ""
M5A.SetFocus
Exit Sub
End If
MC5a = True
Else
MC5a = False
End If
End Sub

Ceci pour chaque TextBox
En mode pas à pas,
Quand je passe sur le M5A.SetFocus,
Il le prend bien et le met bien à rien
Quand je passe sur Exit Sub,
il passe sur le TextBox suivant
qui correspond à l'ordre des TextBox défini dans mon UserForm

Quelqu'un a-t'il une idée ?
Merci d'avance
--
Cordialement



Publicité
Poster une réponse
Anonyme