OVH Cloud OVH Cloud

Format de textbox

4 réponses
Avatar
Albator V
bonjour,

je vous explique ce q je n'arrive pas a faire...
j'ai une text box dans un userform ou je dois saisir un
numero de tel. je souhaiterai, en cours de frappe, qu'il
mette le numero dans un format de telephone standard,
c'est-a-dire 01.23.45.67.89
donc quand je tape le chiffre 2, la valeur de la textbox
devient 01.2
quand je tape le 4, ca devient 01.23.4
quand je tape le 6, ca devient 01.23.45.6
et quand je tape le 8, ca devient 01.23.45.67.8

merci davance

4 réponses

Avatar
JpPradier
Bonjour Albator V

Avec cette macro :

Private Sub TextBox1_Change()
nbchar = Len(Me.TextBox1.Text)
If nbchar = 2 Or nbchar = 5 Or nbchar = 8 Or nbchar = 11 Then
Me.TextBox1.Text = Me.TextBox1.Text & "."
End If
End Sub

j-p
Avatar
PMO
Bonjour,

Ci-dessous un code qui devrait solutionner votre problème.
(il faut un UserForm avec une TextBox dont la propriété (Name) est "TextBox1")
Code à copier dans votre UserForm.

'********************
Option Explicit
Public Cancel As Boolean
'__________________________________________
Private Sub TextBox1_Change()
Dim A$
If Cancel Then
Cancel = False
Exit Sub
End If
Call FormatTeleph
A$ = TextBox1.Text
If Len(A$) > 14 Then
Cancel = True
TextBox1.Text = Mid(A$, 1, Len(A$) - 1)
Exit Sub
End If
End Sub
'__________________________________________
Sub FormatTeleph()
Dim C As Object
Dim A$
Dim var
On Error GoTo Erreur
Set C = TextBox1
A$ = CStr(C.Text)
If Not IsNumeric(Right(A$, 1)) Then
Cancel = True
C.Text = Mid(A$, 1, Len(A$) - 1)
Exit Sub
End If
If Len(A$) = 2 Then
Cancel = True
C.Text = C.Text & "."
Exit Sub
End If
If Len(A$) > 3 Then
var = Right(A$, 2)
If var > 1 Then
Cancel = True
C.Text = C.Text & "."
Exit Sub
Else
Exit Sub
End If
End If
Erreur:
End Sub
'***********************

PMO
Patrick Morange





bonjour,

je vous explique ce q je n'arrive pas a faire...
j'ai une text box dans un userform ou je dois saisir un
numero de tel. je souhaiterai, en cours de frappe, qu'il
mette le numero dans un format de telephone standard,
c'est-a-dire 01.23.45.67.89
donc quand je tape le chiffre 2, la valeur de la textbox
devient 01.2
quand je tape le 4, ca devient 01.23.4
quand je tape le 6, ca devient 01.23.45.6
et quand je tape le 8, ca devient 01.23.45.67.8

merci davance




Avatar
Albaor V
c'est impeccable...
par contre je ne peux pas effacer ma text box...
comment faire ?^

-----Message d'origine-----
Bonjour Albator V

Avec cette macro :

Private Sub TextBox1_Change()
nbchar = Len(Me.TextBox1.Text)
If nbchar = 2 Or nbchar = 5 Or nbchar = 8 Or nbchar = 11
Then

Me.TextBox1.Text = Me.TextBox1.Text & "."
End If
End Sub

j-p
.



Avatar
JpPradier
Pour l'effacer :

Me.TextBox1.Text=""

j-p