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

Test format spéciale dans Textbox

5 réponses
Avatar
Steph
Bonsoir,

Je suis en train de développer un fichier Excel pour imprimer les feuilles
de match de Tennis de Table (AFFBTT).
(au cas ou qq serais intéresser !!??)

J'ai choisis de faire inscrire les résultats des matchs 1 par 1 dans un
Userform via un Textbox, je souhaiterais vérifier les données rentrées lors
du cliques sur le bouton "Valider" qui me transfère les résultats sur la
feuille.

Les matchs de tennis de table se joue en 5 sets de 11 points. J'ai donc
placer sur mon Userform 5 Textbox, les résultats doivent être rentrer dans
ce format 11-09 ou 15-03 ou 05-11....

Comment vérifier que j'ai bien 5 caractères, qu'il y a bien 2 chiffres
suivis d'un tiret suivis de 2 chiffres, que la différence entre les 2
nombres doit être de minimum 2 et que un des 2 nombres doit faire au moins
11 ?

En résumé que le résultat rentrer est bien un résultat plausible d'un set de
tennis de table.

Merci de votre aide,

Steph

5 réponses

Avatar
isabelle
bonjour Stef,

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
x = TextBox1.Value
Nb = Len(x)
p = Val(Left(x, 2))
d = Val(Right(x, 2))
diff = Abs(p - d)

If Nb = 5 And p >= 11 And d < 11 And _
Mid(x, 3, 1) = "-" And diff >= 2 Then
If diff > 2 And (p = 11 Or d = 11) Then
TextBox1 = x
End If
ElseIf Nb = 5 And d >= 11 And p < 11 And _
Mid(x, 3, 1) = "-" And diff >= 2 Then
If diff > 2 And (p = 11 Or d = 11) Then
TextBox1 = x
End If

ElseIf Nb = 5 And d >= 11 And p >= 11 And _
Mid(x, 3, 1) = "-" And diff = 2 Then
TextBox1 = x

Else
TextBox1 = ""
TextBox1.SetFocus
MsgBox "Vous devez entrer les données sous cette forme" & Chr(10) & _
"11-09" & Chr(10) & _
"ou" & Chr(10) & _
"05-11" & Chr(10) & _
"ou" & Chr(10) & _
"16-14" & Chr(10) & _
"ou" & Chr(10) & _
"13-15" & Chr(10) & _
"si le pointage dépasse 11, il doit y avoir un minimun" & Chr(10) & _
"de deux point de différence entre les deux chiffres."
End If
End Sub

isabelle


Bonsoir,

Je suis en train de développer un fichier Excel pour imprimer les feuilles
de match de Tennis de Table (AFFBTT).
(au cas ou qq serais intéresser !!??)

J'ai choisis de faire inscrire les résultats des matchs 1 par 1 dans un
Userform via un Textbox, je souhaiterais vérifier les données rentrées lors
du cliques sur le bouton "Valider" qui me transfère les résultats sur la
feuille.

Les matchs de tennis de table se joue en 5 sets de 11 points. J'ai donc
placer sur mon Userform 5 Textbox, les résultats doivent être rentrer dans
ce format 11-09 ou 15-03 ou 05-11....

Comment vérifier que j'ai bien 5 caractères, qu'il y a bien 2 chiffres
suivis d'un tiret suivis de 2 chiffres, que la différence entre les 2
nombres doit être de minimum 2 et que un des 2 nombres doit faire au moins
11 ?

En résumé que le résultat rentrer est bien un résultat plausible d'un set de
tennis de table.

Merci de votre aide,

Steph


Avatar
isabelle
il faudrait modifier cette ligne dans msgbox :

"si un des pointages dépasse 11, il doit y avoir un maximun" & Chr(10) & _
"de deux points de différence entre les deux chiffres."

isabelle


Bonsoir,

Je suis en train de développer un fichier Excel pour imprimer les feuilles
de match de Tennis de Table (AFFBTT).
(au cas ou qq serais intéresser !!??)

J'ai choisis de faire inscrire les résultats des matchs 1 par 1 dans un
Userform via un Textbox, je souhaiterais vérifier les données rentrées lors
du cliques sur le bouton "Valider" qui me transfère les résultats sur la
feuille.

Les matchs de tennis de table se joue en 5 sets de 11 points. J'ai donc
placer sur mon Userform 5 Textbox, les résultats doivent être rentrer dans
ce format 11-09 ou 15-03 ou 05-11....

Comment vérifier que j'ai bien 5 caractères, qu'il y a bien 2 chiffres
suivis d'un tiret suivis de 2 chiffres, que la différence entre les 2
nombres doit être de minimum 2 et que un des 2 nombres doit faire au moins
11 ?

En résumé que le résultat rentrer est bien un résultat plausible d'un set de
tennis de table.

Merci de votre aide,

Steph


Avatar
docm
Bonjour.

les résultats doivent être rentrer dans
ce format 11-09 ou 15-03 ou 05-11....



Ca fait longtemps que je n'ai joué au tennis de table.

Est-ce que 15-03 est un score possible au tennis de table.?


"isabelle" wrote in message
news:
bonjour Stef,

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
x = TextBox1.Value
Nb = Len(x)
p = Val(Left(x, 2))
d = Val(Right(x, 2))
diff = Abs(p - d)

If Nb = 5 And p >= 11 And d < 11 And _
Mid(x, 3, 1) = "-" And diff >= 2 Then
If diff > 2 And (p = 11 Or d = 11) Then
TextBox1 = x
End If
ElseIf Nb = 5 And d >= 11 And p < 11 And _
Mid(x, 3, 1) = "-" And diff >= 2 Then
If diff > 2 And (p = 11 Or d = 11) Then
TextBox1 = x
End If

ElseIf Nb = 5 And d >= 11 And p >= 11 And _
Mid(x, 3, 1) = "-" And diff = 2 Then
TextBox1 = x

Else
TextBox1 = ""
TextBox1.SetFocus
MsgBox "Vous devez entrer les données sous cette forme" & Chr(10) & _
"11-09" & Chr(10) & _
"ou" & Chr(10) & _
"05-11" & Chr(10) & _
"ou" & Chr(10) & _
"16-14" & Chr(10) & _
"ou" & Chr(10) & _
"13-15" & Chr(10) & _
"si le pointage dépasse 11, il doit y avoir un minimun" & Chr(10) & _
"de deux point de différence entre les deux chiffres."
End If
End Sub

isabelle


Bonsoir,

Je suis en train de développer un fichier Excel pour imprimer les
feuilles


de match de Tennis de Table (AFFBTT).
(au cas ou qq serais intéresser !!??)

J'ai choisis de faire inscrire les résultats des matchs 1 par 1 dans un
Userform via un Textbox, je souhaiterais vérifier les données rentrées
lors


du cliques sur le bouton "Valider" qui me transfère les résultats sur la
feuille.

Les matchs de tennis de table se joue en 5 sets de 11 points. J'ai donc
placer sur mon Userform 5 Textbox, les résultats doivent être rentrer
dans


ce format 11-09 ou 15-03 ou 05-11....

Comment vérifier que j'ai bien 5 caractères, qu'il y a bien 2 chiffres
suivis d'un tiret suivis de 2 chiffres, que la différence entre les 2
nombres doit être de minimum 2 et que un des 2 nombres doit faire au
moins


11 ?

En résumé que le résultat rentrer est bien un résultat plausible d'un
set de


tennis de table.

Merci de votre aide,

Steph




Avatar
Steph
Un grand merci Isabelle,

C'est parfait

Steph


"isabelle" a écrit dans le message de news:

bonjour Stef,

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
x = TextBox1.Value
Nb = Len(x)
p = Val(Left(x, 2))
d = Val(Right(x, 2))
diff = Abs(p - d)

If Nb = 5 And p >= 11 And d < 11 And _
Mid(x, 3, 1) = "-" And diff >= 2 Then
If diff > 2 And (p = 11 Or d = 11) Then
TextBox1 = x
End If
ElseIf Nb = 5 And d >= 11 And p < 11 And _
Mid(x, 3, 1) = "-" And diff >= 2 Then
If diff > 2 And (p = 11 Or d = 11) Then
TextBox1 = x
End If

ElseIf Nb = 5 And d >= 11 And p >= 11 And _
Mid(x, 3, 1) = "-" And diff = 2 Then
TextBox1 = x

Else
TextBox1 = ""
TextBox1.SetFocus
MsgBox "Vous devez entrer les données sous cette forme" & Chr(10) & _
"11-09" & Chr(10) & _
"ou" & Chr(10) & _
"05-11" & Chr(10) & _
"ou" & Chr(10) & _
"16-14" & Chr(10) & _
"ou" & Chr(10) & _
"13-15" & Chr(10) & _
"si le pointage dépasse 11, il doit y avoir un minimun" & Chr(10) & _
"de deux point de différence entre les deux chiffres."
End If
End Sub

isabelle


Bonsoir,

Je suis en train de développer un fichier Excel pour imprimer les
feuilles


de match de Tennis de Table (AFFBTT).
(au cas ou qq serais intéresser !!??)

J'ai choisis de faire inscrire les résultats des matchs 1 par 1 dans un
Userform via un Textbox, je souhaiterais vérifier les données rentrées
lors


du cliques sur le bouton "Valider" qui me transfère les résultats sur la
feuille.

Les matchs de tennis de table se joue en 5 sets de 11 points. J'ai donc
placer sur mon Userform 5 Textbox, les résultats doivent être rentrer
dans


ce format 11-09 ou 15-03 ou 05-11....

Comment vérifier que j'ai bien 5 caractères, qu'il y a bien 2 chiffres
suivis d'un tiret suivis de 2 chiffres, que la différence entre les 2
nombres doit être de minimum 2 et que un des 2 nombres doit faire au
moins


11 ?

En résumé que le résultat rentrer est bien un résultat plausible d'un
set de


tennis de table.

Merci de votre aide,

Steph




Avatar
Steph
Pour info, voici le code définitif que j'ai utiliser,
(j'ai du rectifier cat 18-00 était possible il manquait un ELSE)
(et j'ai ajouter le faite de sélectionner le texte déjà rentrer apres
l'affichage du msgbox)

Encore merci Isabelle
-------------------------------------------------
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
x = TextBox1.Value
Nb = Len(x)
p = Val(Left(x, 2))
d = Val(Right(x, 2))
diff = Abs(p - d)

'TEST1 Si il y a bien 5 caractères et un tiret en 3e position et
'et que le 1er chiffres > et que le second est <11 et que la différence
entre les
'deux résultats est égale à 2 ou supérieur mais que un des résultats est
'bien égale à 11 alors j'affiche le résultat
If Nb = 5 And p >= 11 And d < 11 And _
Mid(x, 3, 1) = "-" And diff >= 2 Then
If diff > 2 And (p = 11 Or d = 11) Then
TextBox1 = x
'MsgBox "test1"
Else
GoTo Refuser
End If

'TEST2 idem Test1 sauf inversion des 2 chiffres
ElseIf Nb = 5 And d >= 11 And p < 11 And _
Mid(x, 3, 1) = "-" And diff >= 2 Then
If diff > 2 And (p = 11 Or d = 11) Then
TextBox1 = x
'MsgBox "test2"
Else
GoTo Refuser
End If
'TEST3 Si il y a bien 5 caractères et un tiret en 3e position et
'que les 2 chiffres sont supérieur ou égale à 11 et que
'leur différence est égale à 2 alors affiche le résultat
ElseIf Nb = 5 And d >= 11 And p >= 11 And _
Mid(x, 3, 1) = "-" And diff = 2 Then
TextBox1 = x
'MsgBox "test3"

'TEST4 si case vide OK
ElseIf Nb = 0 Then
TextBox1 = x

Else
Refuser:
Cancel = True 'empêche la sortie du textbox en cours
TextBox1.SetFocus 'redonne le focus au textbox
TextBox1.SelStart = 0 'positionne le curseur au début du textbox
TextBox1.SelLength = Len(TextBox1) 'sélectionne le texte déjà entré
MsgBox "Vous devez entrer les données sous la forme" & Chr(10) & _
"de ces différents exemples" & Chr(10) & _
"" & Chr(10) & _
"11-09 ou 05-11 ou 11-00 ou 13-15 ou 03-11" & Chr(10) & _
"" & Chr(10) & _
"Si un des pointages dépasse 11, il doit y avoir un maximun" & Chr(10) & _
"de deux points de différence entre les deux chiffres." & Chr(10) & _
"" & Chr(10) & _
"Si vous souhaitez quitter, ne placer rien dans la case.", 48, "Erreur de
saisie"
End If
End Sub

-----------------------------------------------------------


"isabelle" a écrit dans le message de news:

bonjour Stef,

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
x = TextBox1.Value
Nb = Len(x)
p = Val(Left(x, 2))
d = Val(Right(x, 2))
diff = Abs(p - d)

If Nb = 5 And p >= 11 And d < 11 And _
Mid(x, 3, 1) = "-" And diff >= 2 Then
If diff > 2 And (p = 11 Or d = 11) Then
TextBox1 = x
End If
ElseIf Nb = 5 And d >= 11 And p < 11 And _
Mid(x, 3, 1) = "-" And diff >= 2 Then
If diff > 2 And (p = 11 Or d = 11) Then
TextBox1 = x
End If

ElseIf Nb = 5 And d >= 11 And p >= 11 And _
Mid(x, 3, 1) = "-" And diff = 2 Then
TextBox1 = x

Else
TextBox1 = ""
TextBox1.SetFocus
MsgBox "Vous devez entrer les données sous cette forme" & Chr(10) & _
"11-09" & Chr(10) & _
"ou" & Chr(10) & _
"05-11" & Chr(10) & _
"ou" & Chr(10) & _
"16-14" & Chr(10) & _
"ou" & Chr(10) & _
"13-15" & Chr(10) & _
"si le pointage dépasse 11, il doit y avoir un minimun" & Chr(10) & _
"de deux point de différence entre les deux chiffres."
End If
End Sub

isabelle


Bonsoir,

Je suis en train de développer un fichier Excel pour imprimer les
feuilles


de match de Tennis de Table (AFFBTT).
(au cas ou qq serais intéresser !!??)

J'ai choisis de faire inscrire les résultats des matchs 1 par 1 dans un
Userform via un Textbox, je souhaiterais vérifier les données rentrées
lors


du cliques sur le bouton "Valider" qui me transfère les résultats sur la
feuille.

Les matchs de tennis de table se joue en 5 sets de 11 points. J'ai donc
placer sur mon Userform 5 Textbox, les résultats doivent être rentrer
dans


ce format 11-09 ou 15-03 ou 05-11....

Comment vérifier que j'ai bien 5 caractères, qu'il y a bien 2 chiffres
suivis d'un tiret suivis de 2 chiffres, que la différence entre les 2
nombres doit être de minimum 2 et que un des 2 nombres doit faire au
moins


11 ?

En résumé que le résultat rentrer est bien un résultat plausible d'un
set de


tennis de table.

Merci de votre aide,

Steph