Vba excel : Forcer écriture dans textbox

Résolu
MT -  
debutantevba Messages postés 25 Statut Membre -
Bonjour,

débutante en vba je cherche à forcer l'écriture dans une de mes textbox.

Je souhaiterais imposer en premier la lettre "H" puis ensuite forcer une saisie uniquement numérique !

Merci d'avance pour votre aide !

MT

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Essayez voir ceci :
    Private Sub TextBox1_GotFocus() 
    If Len(TextBox1) = 0 Then TextBox1 = "H" 
    End Sub 
    
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
    If InStr("1234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0 
    End Sub

    Cordialement,
    Franck P
    1
    1. MT
       
      Tout d'abord merci pour votre réponse !

      ensuite la saisie numérique marche très bien mais le code concernant le "H" du départ ne fonctionne pas ... = /

      Merci pour votre précieuse aide !
      0
    2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      1- avez vous cliqué dans le textbox?
      2- ce textbox est situé ou? feuille ou userform?
      0
    3. MT
       
      Ce textbox est situé dans un userform et ou j'ai bien cliqué dans celui-ci ... =/
      0
    4. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Alors, dans ta procédure USerForm_Initialize ajout cette ligne :
      Private Sub UserForm_Initialize()
      'du code bla bla
      TextBox1 = "H"
      'du code bla bla
      End Sub

      Et bien sur conserve la saisie uniquement numérique par :
      Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
      If InStr("1234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0 
      End Sub
      
      0
    5. MT
       
      Ca fonctionne très bien !!!

      Un grand merci !
      bonne fin de journée !
      0
  2. debutantevba Messages postés 25 Statut Membre
     
    Bonjour,

    Ce sujet tombe parfaitement !
    Mais je voudrai ajouter une petite condition, alors je tente ma chance aussi.
    Serait-il possible que le H apparaisse dans la TextBox à l'ouverture du formulaire ( en plus de la condition qu'il ne s'efface pas et que nous devons écrire uniquement des chiffres après ) ...

    Merci !
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Bonjour,

      A l'ouverture du formulaire.
      Donc, lors de l'événement Initialize de l'Userform...
      Donc :
      Private Sub UserForm_Initialize()
          TextBox1.Value = "H"
      End Sub
      0
      1. debutantevba Messages postés 25 Statut Membre > pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Top ! =) Merci !
        0