VBA textbox interdire la saisie des 0 en premier

Bonjour,

comment faire pour interdire la saisie des 0 devant sur une chaîne de chiffres et corriger la saisie ? :

AFG0001236 interdit donne AFG1236

RTU1200036 OK

SCV01236 interdit donne SCV1236

0001996 interdit donne 1996

456000 OK

Merci.

Bonjour

une proposition via une fonction

Function supprimez(t)
    fl = 1
    For i = 1 To Len(t)
        If Mid(t, i, 1) Like "#" Then
            If fl < 2 And Mid(t, i, 1) = "0" Then fl = 0 Else fl = 2
        End If
        If fl <> 0 Then
            sz = sz & Mid(t, i, 1)
        End If
    Next i
    supprimez = sz
End Function

Bonjour, dans une textbox ?

Bonjour, Salut h2so4 !

Autre essai, fonction également.

Function EpurZero(tx As String) As String
    Dim z%, zz%
    z = InStr(1, tx, "0")
    If z > 0 Then
        For zz = z + 1 To Len(tx)
            If Mid(tx, zz, 1) <> "0" Then Exit For
        Next zz
        If Not Mid(tx, IIf(z > 1, z - 1, Len(tx) + 1), 1) Like "#" Then
            EpurZero = Left(tx, z - 1) & Mid(tx, zz)
        Else
            EpurZero = tx
        End If
    Else
        EpurZero = tx
    End If
End Function

Private Sub TextBox1_AfterUpdate()
    Dim txz$
    txz = TextBox1.Value
    If txz <> "" Then TextBox1.Value = EpurZero(txz)
End Sub

Cordialement.

Merci beaucoup !!!

Rechercher des sujets similaires à "vba textbox interdire saisie premier"