domingo, 13 de fevereiro de 2011

Função para validar Título Eleitoral

Public Function ValidarTEleitor(valor As String)
    Dim OnlyNumber, SomaDV1, SomaDV2 As String
    Dim FatorMult As String
    For i = 1 To Len(valor)
        OnlyNumber = Mid(valor, i, 1)
        If OnlyNumber >= "0" And OnlyNumber <= "9" Then numero = numero & OnlyNumber
    Next
    FatorMult = "23456789" '
    For i = 1 To Len(FatorMult)
          SomaDV1 = SomaDV1 + val(Mid(numero, i, 1)) * val(Mid(FatorMult, i, 1))
    Next
    SomaDV1 = SomaDV1 Mod 11
    If SomaDV1 = 10 Then SomaDV1 = 0
    SomaDV2 = val(Mid(numero, 9, 1)) * 7
    SomaDV2 = SomaDV2 + val(Mid(numero, 10, 1)) * 8
    SomaDV2 = SomaDV2 + val(SomaDV1) * 9
    SomaDV2 = SomaDV2 Mod 11
    If SomaDV2 = 10 Then SomaDV2 = 0
   
'--------------------- Teste de validação dos título digitado -----------------   
    If val(Mid(numero, 11, 1)) = SomaDV1 And val(Mid(numero, 12, 1)) = SomaDV2 Then
        Dim D9, D10 As String
        D9 = Mid(numero, 9, 1)
        D10 = Mid(numero, 10, 1)
        If CInt(D9 & D10) > 0 And CInt(D9 & D10) < 29 Then
           MsgBox "Número do Título Eleitoral correto."
        Else
           MsgBox "Número do Título Eleitoral Inválido.", vbCritical, "Atenção !"
        End If
    Else
        MsgBox "Número do Título Eleitoral Inválido.", vbCritical, "Atenção !"
    End If
End Function

Vídeo para demonstrar a função:

Nenhum comentário:

Postar um comentário