Forcer format de saisie dans textbox ?

Bonjour,

Existe-t-il un moyen de pédifinir le format de saisie des données dans un TEXTBOX
Exemple => type date sous la forme " / / " pour que l'utilisateur n'ai à saisir que les chiffres
(De la même façon que dans une cellule du tableur)
Merci d'avance

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Essaie ca

    Private Sub TextBox1_Change()
    Dim Val As Byte
    TextBox1.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
    Val = Len(TextBox1)
    If Val = 2 Or Valeur = 5 Then TextBox1 = TextBox1 & "/"
    End Sub
    1. C'est très efficace, mais si l'utilisateur a commis une erreur dans la saisie de l'heure comment l'effacer aisément. Parce qu'avec ça, s'il efface, d'autres barres s'ajoutent.
      Merci à vous tous!
  2. Désolé j'étais en déplacement...
    Effectivement on peut contrôler la saisie de cette façon, c'est par contre étonnant de ne pas avoir cette possibilité par une fonction standard dans toutes les saisies sous Userform..
    Merci pour les réponses A+
    1. salut JL,

      je crois me rappeler qu'en VB, il y a la possibilité de définir un masque de saisie, mais je ne sais plus s'il s'agit d'une propriété d'un TextBox ou d'un ActiveX particulier.

      avec quel langage travailles-tu précisemment ? VB, VBA, autre ?
      1. Salut Kobaya,

        Merci pour ta réponse.
        Je travaille sous VBA dans Excell et je n'ai pas trouvé de possibilité pour définir un masque de saisie dans un TEXTBOX.. mais je suis loin de connaitre à fond les possibilités de ce langage.
        Peut-on envisager d'insérer un bout de programme externe (développé dans un autre langage) dans une macro Excell?
      2. pourquoi ne pas demander à l'utilisateur de saisir la date avec ce format : jjmmaa. Ensuite, il suffit de s'assurer que 0<jj<31, que 0<mm<13, en gérant les exceptions pour jj (mois de 28, 29, 30 ou 31 jours).