Excel textbox

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. 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
    1. Bonjour,
      et comment n'autoriser que des chiffres dans une textbox d'une userform?
      merci pour votre aide
      1. 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