écrire que les numéro dans une textbox

Bonjour,
comment faire pour écrire que les numéro dans une textbox
et empêcher l'utilisateur d'écrire des lettres
merci d'avance

1 réponse

  1. Bonjour,

    il existe l'évènement keydown pour les textbox

    Cet évènement recoit le paramêtre keycode
    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    MsgBox KeyCode
    End Sub


    Donc le chiffre zero est 96 et le neuf est 105, effacer est le 8.

    C'est la que je suis rendu dans mes recherches :)
    1. Aussi, j'imagine que tu veux permettre en plus des chiffres, le retour arrière, le supprimer, les flèches et peut être
      l'espace (séparateur de millier), les virgules et le points (selon les paramêtres régionaux du pays ou tu habites)
    2. mais ça marche pas

      Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
      keycode()
      End Sub
      End Class
    3. @abdou4700J'imagine que tu es dans Visual Basic, moi je suis dans Excel VBA (les évènements ont peut-etre des noms différent, et les variable aussi).

      Cherche l'évènement de ton textbox qui ressemble a un keydown, ou keypress, tu devrais avoir un paramètre dans cette fonction qui te retourne la touche qui a été enfoncé.

      Ensuite tu travail sur ce paramètre pour valider que c'est un code permis. et si ce n'est pas un code valide, assigne à ce paramètre la valeur zero. Le code ascii 0 signifie annuler la frappe,

      Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
      if keycode <> 0 and keycode <> 8 and keycode <> 37 and keycode <> 39 and keycode <> 48 and keycode <> 49 and keycode <> 50 and keycode <> 51 and keycode <> 52 and keycode <> 53 and keycode <> 54 and keycode <> 57 and keycode <> 58 and keycode <> 96 and keycode <> 97 and keycode <> 98 and keycode <> 99 and keycode <> 100 and keycode <> 101 and keycode <> 102 and keycode <> 103 and keycode <> 104 and keycode <> 105 then
      keycode = 0
      endif
      End Sub

      Ce code fonctionne pour moi en excel VBA, en VB, ça devrait être sensiblement pareil, tu peux t'en inspirer.

      Aussi, mon IF n'est vraiment pas élégant, on peut probablement trouver quelque chose de mieux, et mon IF permet les flèches, les chiffres autant du pad numérique que ceux au dessus des lettres.

      Donc, se rappeler que ce n'est pas du code prêt à emporter, il se peut toujours que tu dois l'adapter un peu. l'idée c'est qu'on donner des pistes de solution.