OVH Cloud OVH Cloud

saisie d'un champs date

3 réponses
Avatar
Tijani SELLAMI
Comment faire pour rendre la saisie d'une date plus aisée càd les "/"
s'écrient automatiquement.

3 réponses

Avatar
LE TROLL
Salut,

Pour ma part (je ne suis pas le seul), je trouve
affreux, vaut mieux faire un traitement après et laisser
libre la saisie, éventuellement en indiquant "?j/?m/???a"

----------

"Tijani SELLAMI" a
écrit dans le message de news:

Comment faire pour rendre la saisie d'une date plus aisée
càd les "/"
s'écrient automatiquement.


Avatar
Jean-Marc
"Tijani SELLAMI" a écrit dans le
message de news:
Comment faire pour rendre la saisie d'une date plus aisée càd les "/"
s'écrient automatiquement.



Hello,

tu peux essayer ceci, qui marche mais est loin d'être parfait.

Il suffit de créer un textBox nommé Text1, et de le préremplir comme ceci:
"__/__/____"


Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim p As Integer
Dim s As String

s = Text1.Text

If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
Exit Sub
End If

p = Text1.SelStart + 1

If p > 10 Then
KeyAscii = 0
Exit Sub
End If

If Mid$(s, p, 1) = "/" Then
p = p + 1
s = Mid$(s, 1, p - 1) & Chr$(KeyAscii) + Mid$(s, p + 1)
Else
If p = 1 Then
s = Chr$(KeyAscii) + Mid$(s, p + 1)
Else
s = Mid$(s, 1, p - 1) & Chr$(KeyAscii) + Mid$(s, p + 1)
End If
End If
Text1.Text = s
If Mid$(s, p, 1) = "/" Then
p = p + 1
End If
Text1.SelStart = p
Text1.SelLength = 0
KeyAscii = 0
End Sub

Tu peux ajouter:

Private Sub Text1_Change()
Dim s As String

s = Text1.Text

If s = "" Then
s = "__/__/____"
Text1.Text = s
Text1.SelStart = 0
End If

End Sub

Personnellement, je n'aime pas ce genre de choses et je n'aime
pas les applications qui utilisent ceci, mais bon ...

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Jean Elens
peut-etre utilise le masked edit control (MSMASK32.OCX)

A voir....