Masque de saisie (date) vers.2

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 405 fois - Téléchargée 45 fois

Contenu du snippet

J'ai penser qu'un module serait plus sympa pour que ça serve au moins a quelqu'un !!
Donc...

Source / Exemple :


'Sur le Form1
'on insere un textbox (text1)
'dans l'évènement on_change de ce text1 on met
Private Sub Text1_Change()
    Call FormatDate(Text1.Text, Form1.Text1)
End Sub

'-------------------------------------------------------- The module
'Dans un module on met

Public Function FormatDate(ByRef Schaine As String, Scontrol As Control)
    'on s'assure que la chaine n'est pas vide
    If Schaine <> "" Then
        Dim Pchaine, Lchaine, Nchaine
        Dim tmp As String
        'Si le len du texte est supérieur à un
        If Len(Schaine) > 1 Then
            Pchaine = Len(Schaine)
        Else
            Pchaine = 1
        End If
        '---------------------------------
        'filtre sur les chiffres
        If Asc(Mid(Schaine, Pchaine, 1)) < 47 Or _
        Asc(Mid(Schaine, Pchaine, 1)) > 57 Then
           'le caractère tapé n'est pas bon
           'on met ce qu'il y avait avant dans tmp
           tmp = Mid(Schaine, 1, Pchaine - 1)
           'on insère tmp dans le text1.txt
           Scontrol = tmp
           'on repositionne le curseur
           Scontrol.SelStart = Pchaine - 1
        Else
            'on traite le masque de saisie
            'pour le masque de saisie
            'au bout de deux caractères on rajoute "/"
            If Len(Schaine) = 2 Then
                tmp = Schaine & "/"
                Scontrol = tmp
                Scontrol.SelStart = 4
            End If
            'au bout de deux caractères on rajoute "/"
            If Len(Schaine) = 5 Then
                tmp = Schaine & "/"
                Scontrol = tmp
                Scontrol.SelStart = 7
            End If
        End If
    End If
End Function

Conclusion :


Voila, J'espère que ça vous plais ... @+

A voir également

Ajouter un commentaire

Commentaires

VicoLaChips2
Messages postés
439
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
1 -
Sur le form1, il vaut mieux mettre :
Un évènement KeyDown... autrement on peut pas faire backspace...
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If Not KeyCode = 8 Then
Call FormatDate(Text1.Text, Form1.Text1)
End If
End Sub
Seb_d_angers
Messages postés
156
Date d'inscription
vendredi 2 novembre 2001
Statut
Membre
Dernière intervention
19 mai 2011
-
MS Masked Edit Control c'est pas fait pour les chiens...
VicoLaChips2
Messages postés
439
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
1 -
Merci Seb :))
Donc il faut dire sans le composant...MSMASK32.OCX

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.