Excel textbox

thierry440 Messages postés 1 Statut Membre -  
 Utilisateur anonyme -
Bonjour
je debute en vb et je viens de faire un formulaire avec une textbox

c'est ok par contre je veux controler la saisie de la textbox à une saisie numerique sur 3 chiffres (ex : 440 )

Merci d'avance

3 réponses

  1. Lupin
     
    Bonjour,

    voici 2 exemples, et il en existe bien d'autres.

    Private Sub TextBox1_Change()
        
        If (Len(TextBox1.Value) > 3) Then
            MsgBox "Ne doit pas excéder 999"
        Else
            If (Val(TextBox1.Value) > -1) And (Val(TextBox1.Value) < 1000) Then
                MsgBox "Valeur acceptée"
            Else
                MsgBox "Le nombre doit être comprit entre 0 et 999"
            End If
        End If
        
    End Sub
    '
    
    
    
    Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    
        If (KeyAscii <> "13") Then
            If (Len(TextBox1.Value) > 3) Then
                MsgBox "Le nombre de caractère est invalide"
            Else
                If ((KeyAscii >= 0) And (KeyAscii <= 9)) Then
                    If (Val(TextBox1.Value) > -1) And (Val(TextBox1.Value) < 1000) Then
                        MsgBox "Valeur acceptée"
                    Else
                        MsgBox "Le nombre doit être comprit entre 0 et 999"
                    End If
                End If
            End If
        End If
    
    End Sub
    


    Lupin
    0
  2. phil
     
    Bonjour,
    et comment n'autoriser que des chiffres dans une textbox d'une userform?
    merci pour votre aide
    0
  3. Utilisateur anonyme
     
    Bonjour,

    suggestion :

    Private Sub tbx_Saisie_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    
      Dim Longueur As Long
    
      If (KeyAscii <> "13") Then
        If ((Chr(KeyAscii) <= "9") And (Chr(KeyAscii) >= "0")) Then
          If (Len(tbx_Saisie.Value) > 3) Then
            MsgBox "Le nombre de chiffre est invalide"
          Else
            If ((Chr(KeyAscii) >= 0) And (Chr(KeyAscii) <= 9)) Then
              If (Val(tbx_Saisie.Value) > -1) And (Val(tbx_Saisie.Value) < 1000) Then
                'MsgBox "Valeur acceptée"
                DoEvents
              Else
                MsgBox "Le nombre doit être comprit entre 0 et 999"
              End If
            End If
          End If
        Else
          KeyAscii = 0
        End If
      End If
    
    End Sub
    '
    


    Lupin
    0