Re bonsoir, Gérard
Pour moi ton code marche Nickel.
J'ai fait un simple Copier/Coller. Elle a fonctionné nickel du premier
coup!
Je ne vois pas où il y aurait un problème.
Ceci dit, ce que te propose Denis est évidemment impeccable.
Yvan
"Gerard" a écrit dans le message de news:
42f64097$0$22273$
| Bonjour
|
| voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je
| veux
|
| Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
|
| With Me.TxtPhone
|
| If .Value <> "" And Len(.Text) <> 10 Then
| MsgBox ("La saisie du Téléphone à 10 chiffres")
|
| Cancel = True
| .SelStart = 0
| .SetFocus
| .SelLength = Len(.Text)
| Else
| 'mise en format
| TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##""
""##""
| ""##")
| Exit Sub
|
| End If
|
| End With
| End sub
|
| si je retire le Msgbox, le textbox en prenant le focus selectionne bien
le
| contenu. mais avec le msgbox rien.
|
| merci de votre aide
|
| ge
|
|
|
|
Re bonsoir, Gérard
Pour moi ton code marche Nickel.
J'ai fait un simple Copier/Coller. Elle a fonctionné nickel du premier
coup!
Je ne vois pas où il y aurait un problème.
Ceci dit, ce que te propose Denis est évidemment impeccable.
Yvan
"Gerard" <gege@microsoft.fr> a écrit dans le message de news:
42f64097$0$22273$8fcfb975@news.wanadoo.fr...
| Bonjour
|
| voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je
| veux
|
| Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
|
| With Me.TxtPhone
|
| If .Value <> "" And Len(.Text) <> 10 Then
| MsgBox ("La saisie du Téléphone à 10 chiffres")
|
| Cancel = True
| .SelStart = 0
| .SetFocus
| .SelLength = Len(.Text)
| Else
| 'mise en format
| TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##""
""##""
| ""##")
| Exit Sub
|
| End If
|
| End With
| End sub
|
| si je retire le Msgbox, le textbox en prenant le focus selectionne bien
le
| contenu. mais avec le msgbox rien.
|
| merci de votre aide
|
| ge
|
|
|
|
Re bonsoir, Gérard
Pour moi ton code marche Nickel.
J'ai fait un simple Copier/Coller. Elle a fonctionné nickel du premier
coup!
Je ne vois pas où il y aurait un problème.
Ceci dit, ce que te propose Denis est évidemment impeccable.
Yvan
"Gerard" a écrit dans le message de news:
42f64097$0$22273$
| Bonjour
|
| voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je
| veux
|
| Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
|
| With Me.TxtPhone
|
| If .Value <> "" And Len(.Text) <> 10 Then
| MsgBox ("La saisie du Téléphone à 10 chiffres")
|
| Cancel = True
| .SelStart = 0
| .SetFocus
| .SelLength = Len(.Text)
| Else
| 'mise en format
| TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##""
""##""
| ""##")
| Exit Sub
|
| End If
|
| End With
| End sub
|
| si je retire le Msgbox, le textbox en prenant le focus selectionne bien
le
| contenu. mais avec le msgbox rien.
|
| merci de votre aide
|
| ge
|
|
|
|
Bonjour
voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je
veux
Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.TxtPhone
If .Value <> "" And Len(.Text) <> 10 Then
MsgBox ("La saisie du Téléphone à 10 chiffres")
Cancel = True
.SelStart = 0
.SetFocus
.SelLength = Len(.Text)
Else
'mise en format
TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##"" ""##""
""##")
Exit Sub
End If
End With
End sub
si je retire le Msgbox, le textbox en prenant le focus selectionne bien le
contenu. mais avec le msgbox rien.
merci de votre aide
ge
Bonjour
voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je
veux
Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.TxtPhone
If .Value <> "" And Len(.Text) <> 10 Then
MsgBox ("La saisie du Téléphone à 10 chiffres")
Cancel = True
.SelStart = 0
.SetFocus
.SelLength = Len(.Text)
Else
'mise en format
TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##"" ""##""
""##")
Exit Sub
End If
End With
End sub
si je retire le Msgbox, le textbox en prenant le focus selectionne bien le
contenu. mais avec le msgbox rien.
merci de votre aide
ge
Bonjour
voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je
veux
Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.TxtPhone
If .Value <> "" And Len(.Text) <> 10 Then
MsgBox ("La saisie du Téléphone à 10 chiffres")
Cancel = True
.SelStart = 0
.SetFocus
.SelLength = Len(.Text)
Else
'mise en format
TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##"" ""##""
""##")
Exit Sub
End If
End With
End sub
si je retire le Msgbox, le textbox en prenant le focus selectionne bien le
contenu. mais avec le msgbox rien.
merci de votre aide
ge
Re bonsoir, Gérard
Pour moi ton code marche Nickel.
J'ai fait un simple Copier/Coller. Elle a fonctionné nickel du premier
coup!
Je ne vois pas où il y aurait un problème.
Ceci dit, ce que te propose Denis est évidemment impeccable.
Yvan
"Gerard" a écrit dans le message de news:
42f64097$0$22273$
| Bonjour
|
| voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je
| veux
|
| Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
|
| With Me.TxtPhone
|
| If .Value <> "" And Len(.Text) <> 10 Then
| MsgBox ("La saisie du Téléphone à 10 chiffres")
|
| Cancel = True
| .SelStart = 0
| .SetFocus
| .SelLength = Len(.Text)
| Else
| 'mise en format
| TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##""
""##""
| ""##")
| Exit Sub
|
| End If
|
| End With
| End sub
|
| si je retire le Msgbox, le textbox en prenant le focus selectionne bien
le
| contenu. mais avec le msgbox rien.
|
| merci de votre aide
|
| ge
|
|
|
|
Re bonsoir, Gérard
Pour moi ton code marche Nickel.
J'ai fait un simple Copier/Coller. Elle a fonctionné nickel du premier
coup!
Je ne vois pas où il y aurait un problème.
Ceci dit, ce que te propose Denis est évidemment impeccable.
Yvan
"Gerard" <gege@microsoft.fr> a écrit dans le message de news:
42f64097$0$22273$8fcfb975@news.wanadoo.fr...
| Bonjour
|
| voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je
| veux
|
| Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
|
| With Me.TxtPhone
|
| If .Value <> "" And Len(.Text) <> 10 Then
| MsgBox ("La saisie du Téléphone à 10 chiffres")
|
| Cancel = True
| .SelStart = 0
| .SetFocus
| .SelLength = Len(.Text)
| Else
| 'mise en format
| TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##""
""##""
| ""##")
| Exit Sub
|
| End If
|
| End With
| End sub
|
| si je retire le Msgbox, le textbox en prenant le focus selectionne bien
le
| contenu. mais avec le msgbox rien.
|
| merci de votre aide
|
| ge
|
|
|
|
Re bonsoir, Gérard
Pour moi ton code marche Nickel.
J'ai fait un simple Copier/Coller. Elle a fonctionné nickel du premier
coup!
Je ne vois pas où il y aurait un problème.
Ceci dit, ce que te propose Denis est évidemment impeccable.
Yvan
"Gerard" a écrit dans le message de news:
42f64097$0$22273$
| Bonjour
|
| voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je
| veux
|
| Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
|
| With Me.TxtPhone
|
| If .Value <> "" And Len(.Text) <> 10 Then
| MsgBox ("La saisie du Téléphone à 10 chiffres")
|
| Cancel = True
| .SelStart = 0
| .SetFocus
| .SelLength = Len(.Text)
| Else
| 'mise en format
| TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##""
""##""
| ""##")
| Exit Sub
|
| End If
|
| End With
| End sub
|
| si je retire le Msgbox, le textbox en prenant le focus selectionne bien
le
| contenu. mais avec le msgbox rien.
|
| merci de votre aide
|
| ge
|
|
|
|
Bonjour Gérard,
Remarque : La fonction que je présente est utile au moment de la saisie du
textbox. Elle limite la saisie seulement aux entrées
numériques tout en mettant en forme au fur et à mesure de la saise.
Cependant, on valide par une procédure générale associée à un bouton de
commande, l'ensemble de tous les contrôles OBLIGATOIRES que
doit renseigner l'usager pour que l'enregistrement soit valide.. Tous les
contrôles qui ne doivent pas être vide ou doivent avoir
certaines caractéristiques sont validés à l'aide d'une procédure générale.
Est-ce imaginable que le contrôle "TxtPhone" demeure vide lors de la
validation générale? Si non, ta procédure sous l'événement
"Exit" n'oblige pas l'usager à saisir ce numéro de téléphone. Qu'est-ce
que se passe s'il n'entre jamais dans le textbox ? Comment
ta procédure va l'obliger à le remplir si ce n'est qu'au moment de la
vérification générale. Comme la fonction proposée contrôle ce
que j'usager peut y entrer (TextPhone), il ne te reste plus qu'à vérifier
le nombre de caractères du textbox (14 -> 10 digits + 4
espaces) au moment de la vérification générale.
Il y a aussi ceci ... une fonction modifiée...!
'-------------------------------
Private Sub TxtPhone_Change()
TxtPhone = Telephone(TxtPhone, TxtPhone.SelStart)
End Sub
'-------------------------------
Function Telephone(Tbox As MSForms.TextBox, Position)
Dim Nb As Integer, A As Integer
Dim T As String, G As String
If Position = 0 Then Exit Function
If Not IsNumeric(Mid(Tbox, Position, 1)) Or Position = 15 Then
Telephone = Left(Tbox, Len(Tbox) - 1)
Exit Function
End If
T = WorksheetFunction.Substitute(Tbox, " ", "")
Nb = Len(T)
For A = 1 To Nb Step 2
G = G & Mid(T, A, 2) & " "
Next
Telephone = Trim(G)
End Function
'-------------------------------
Salutations!
"Gerard" a écrit dans le message de news:
42f659f2$0$22317$
bonsoir
oui c'est pas mal
sauf que ca ne gere pas si il y a moins de 10 chiffres..
enfin il faut que je trouve pourquoi chez moi (a tes dires) mon message
annule le sellenght du focus
je cherche...
A+
"Yvan" <yvan.echanges(enlever ceci)@free.fr> a écrit dans le message de
news:Re bonsoir, Gérard
Pour moi ton code marche Nickel.
J'ai fait un simple Copier/Coller. Elle a fonctionné nickel du premier
coup!
Je ne vois pas où il y aurait un problème.
Ceci dit, ce que te propose Denis est évidemment impeccable.
Yvan
"Gerard" a écrit dans le message de news:
42f64097$0$22273$
| Bonjour
|
| voila ma sub elle est tres explicite, mais ne fait pas exactement ce
que
je
| veux
|
| Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
|
| With Me.TxtPhone
|
| If .Value <> "" And Len(.Text) <> 10 Then
| MsgBox ("La saisie du Téléphone à 10 chiffres")
|
| Cancel = True
| .SelStart = 0
| .SetFocus
| .SelLength = Len(.Text)
| Else
| 'mise en format
| TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##""
""##""
| ""##")
| Exit Sub
|
| End If
|
| End With
| End sub
|
| si je retire le Msgbox, le textbox en prenant le focus selectionne bien
le
| contenu. mais avec le msgbox rien.
|
| merci de votre aide
|
| ge
|
|
|
|
Bonjour Gérard,
Remarque : La fonction que je présente est utile au moment de la saisie du
textbox. Elle limite la saisie seulement aux entrées
numériques tout en mettant en forme au fur et à mesure de la saise.
Cependant, on valide par une procédure générale associée à un bouton de
commande, l'ensemble de tous les contrôles OBLIGATOIRES que
doit renseigner l'usager pour que l'enregistrement soit valide.. Tous les
contrôles qui ne doivent pas être vide ou doivent avoir
certaines caractéristiques sont validés à l'aide d'une procédure générale.
Est-ce imaginable que le contrôle "TxtPhone" demeure vide lors de la
validation générale? Si non, ta procédure sous l'événement
"Exit" n'oblige pas l'usager à saisir ce numéro de téléphone. Qu'est-ce
que se passe s'il n'entre jamais dans le textbox ? Comment
ta procédure va l'obliger à le remplir si ce n'est qu'au moment de la
vérification générale. Comme la fonction proposée contrôle ce
que j'usager peut y entrer (TextPhone), il ne te reste plus qu'à vérifier
le nombre de caractères du textbox (14 -> 10 digits + 4
espaces) au moment de la vérification générale.
Il y a aussi ceci ... une fonction modifiée...!
'-------------------------------
Private Sub TxtPhone_Change()
TxtPhone = Telephone(TxtPhone, TxtPhone.SelStart)
End Sub
'-------------------------------
Function Telephone(Tbox As MSForms.TextBox, Position)
Dim Nb As Integer, A As Integer
Dim T As String, G As String
If Position = 0 Then Exit Function
If Not IsNumeric(Mid(Tbox, Position, 1)) Or Position = 15 Then
Telephone = Left(Tbox, Len(Tbox) - 1)
Exit Function
End If
T = WorksheetFunction.Substitute(Tbox, " ", "")
Nb = Len(T)
For A = 1 To Nb Step 2
G = G & Mid(T, A, 2) & " "
Next
Telephone = Trim(G)
End Function
'-------------------------------
Salutations!
"Gerard" <gege@microsoft.fr> a écrit dans le message de news:
42f659f2$0$22317$8fcfb975@news.wanadoo.fr...
bonsoir
oui c'est pas mal
sauf que ca ne gere pas si il y a moins de 10 chiffres..
enfin il faut que je trouve pourquoi chez moi (a tes dires) mon message
annule le sellenght du focus
je cherche...
A+
"Yvan" <yvan.echanges(enlever ceci)@free.fr> a écrit dans le message de
news: OhMNgw3mFHA.1444@TK2MSFTNGP10.phx.gbl...
Re bonsoir, Gérard
Pour moi ton code marche Nickel.
J'ai fait un simple Copier/Coller. Elle a fonctionné nickel du premier
coup!
Je ne vois pas où il y aurait un problème.
Ceci dit, ce que te propose Denis est évidemment impeccable.
Yvan
"Gerard" <gege@microsoft.fr> a écrit dans le message de news:
42f64097$0$22273$8fcfb975@news.wanadoo.fr...
| Bonjour
|
| voila ma sub elle est tres explicite, mais ne fait pas exactement ce
que
je
| veux
|
| Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
|
| With Me.TxtPhone
|
| If .Value <> "" And Len(.Text) <> 10 Then
| MsgBox ("La saisie du Téléphone à 10 chiffres")
|
| Cancel = True
| .SelStart = 0
| .SetFocus
| .SelLength = Len(.Text)
| Else
| 'mise en format
| TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##""
""##""
| ""##")
| Exit Sub
|
| End If
|
| End With
| End sub
|
| si je retire le Msgbox, le textbox en prenant le focus selectionne bien
le
| contenu. mais avec le msgbox rien.
|
| merci de votre aide
|
| ge
|
|
|
|
Bonjour Gérard,
Remarque : La fonction que je présente est utile au moment de la saisie du
textbox. Elle limite la saisie seulement aux entrées
numériques tout en mettant en forme au fur et à mesure de la saise.
Cependant, on valide par une procédure générale associée à un bouton de
commande, l'ensemble de tous les contrôles OBLIGATOIRES que
doit renseigner l'usager pour que l'enregistrement soit valide.. Tous les
contrôles qui ne doivent pas être vide ou doivent avoir
certaines caractéristiques sont validés à l'aide d'une procédure générale.
Est-ce imaginable que le contrôle "TxtPhone" demeure vide lors de la
validation générale? Si non, ta procédure sous l'événement
"Exit" n'oblige pas l'usager à saisir ce numéro de téléphone. Qu'est-ce
que se passe s'il n'entre jamais dans le textbox ? Comment
ta procédure va l'obliger à le remplir si ce n'est qu'au moment de la
vérification générale. Comme la fonction proposée contrôle ce
que j'usager peut y entrer (TextPhone), il ne te reste plus qu'à vérifier
le nombre de caractères du textbox (14 -> 10 digits + 4
espaces) au moment de la vérification générale.
Il y a aussi ceci ... une fonction modifiée...!
'-------------------------------
Private Sub TxtPhone_Change()
TxtPhone = Telephone(TxtPhone, TxtPhone.SelStart)
End Sub
'-------------------------------
Function Telephone(Tbox As MSForms.TextBox, Position)
Dim Nb As Integer, A As Integer
Dim T As String, G As String
If Position = 0 Then Exit Function
If Not IsNumeric(Mid(Tbox, Position, 1)) Or Position = 15 Then
Telephone = Left(Tbox, Len(Tbox) - 1)
Exit Function
End If
T = WorksheetFunction.Substitute(Tbox, " ", "")
Nb = Len(T)
For A = 1 To Nb Step 2
G = G & Mid(T, A, 2) & " "
Next
Telephone = Trim(G)
End Function
'-------------------------------
Salutations!
"Gerard" a écrit dans le message de news:
42f659f2$0$22317$
bonsoir
oui c'est pas mal
sauf que ca ne gere pas si il y a moins de 10 chiffres..
enfin il faut que je trouve pourquoi chez moi (a tes dires) mon message
annule le sellenght du focus
je cherche...
A+
"Yvan" <yvan.echanges(enlever ceci)@free.fr> a écrit dans le message de
news:Re bonsoir, Gérard
Pour moi ton code marche Nickel.
J'ai fait un simple Copier/Coller. Elle a fonctionné nickel du premier
coup!
Je ne vois pas où il y aurait un problème.
Ceci dit, ce que te propose Denis est évidemment impeccable.
Yvan
"Gerard" a écrit dans le message de news:
42f64097$0$22273$
| Bonjour
|
| voila ma sub elle est tres explicite, mais ne fait pas exactement ce
que
je
| veux
|
| Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
|
| With Me.TxtPhone
|
| If .Value <> "" And Len(.Text) <> 10 Then
| MsgBox ("La saisie du Téléphone à 10 chiffres")
|
| Cancel = True
| .SelStart = 0
| .SetFocus
| .SelLength = Len(.Text)
| Else
| 'mise en format
| TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##""
""##""
| ""##")
| Exit Sub
|
| End If
|
| End With
| End sub
|
| si je retire le Msgbox, le textbox en prenant le focus selectionne bien
le
| contenu. mais avec le msgbox rien.
|
| merci de votre aide
|
| ge
|
|
|
|
Bonjour
voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je veux
Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.TxtPhone
If .Value <> "" And Len(.Text) <> 10 Then
MsgBox ("La saisie du Téléphone à 10 chiffres")
Cancel = True
.SelStart = 0
.SetFocus
.SelLength = Len(.Text)
Else
'mise en format
TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##"" ""##""
""##")
Exit Sub
End If
End With
End sub
si je retire le Msgbox, le textbox en prenant le focus selectionne bien le
contenu. mais avec le msgbox rien.
merci de votre aide
ge
Bonjour
voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je veux
Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.TxtPhone
If .Value <> "" And Len(.Text) <> 10 Then
MsgBox ("La saisie du Téléphone à 10 chiffres")
Cancel = True
.SelStart = 0
.SetFocus
.SelLength = Len(.Text)
Else
'mise en format
TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##"" ""##""
""##")
Exit Sub
End If
End With
End sub
si je retire le Msgbox, le textbox en prenant le focus selectionne bien le
contenu. mais avec le msgbox rien.
merci de votre aide
ge
Bonjour
voila ma sub elle est tres explicite, mais ne fait pas exactement ce que
je veux
Private Sub TxtPhone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.TxtPhone
If .Value <> "" And Len(.Text) <> 10 Then
MsgBox ("La saisie du Téléphone à 10 chiffres")
Cancel = True
.SelStart = 0
.SetFocus
.SelLength = Len(.Text)
Else
'mise en format
TxtPhone.Text = Format(TxtPhone.Text, "0#"" ""##"" ""##"" ""##""
""##")
Exit Sub
End If
End With
End sub
si je retire le Msgbox, le textbox en prenant le focus selectionne bien le
contenu. mais avec le msgbox rien.
merci de votre aide
ge