Ir para conteúdo
Fórum Script Brasil
  • 0

Código para validar CPF


Raphael49

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

Olá, segue o código... fiz no excel, mas funciona no Access...

Public Function ValidaCPF(CPF As String)
'Função de Validação de CPF

    On Error GoTo Trata_Erro_CPF
    
    Dim Soma1 As Integer
    Dim Soma2 As Integer
    Dim D1 As Integer
    Dim D2 As Integer
    Dim Mult As Integer
    Dim i As Integer
    Dim Tipo
    CPF = Int(CPF)
    
    'Caso o CPF tenha menos de 11 caracteres
    If Len(CPF) < 11 Or CPF = "" Then
        MsgBox "CPF incorreto, digite novamente!!", vbOKOnly
    
    'Caso sejam repetidos os caracteres de 1 - 9
    ElseIf CPF = "11111111111" Or CPF = "22222222222" Or CPF = "33333333333" _
        Or CPF = "44444444444" Or CPF = "55555555555" Or CPF = "66666666666" _
        Or CPF = "77777777777" Or CPF = "88888888888" Or CPF = "99999999999" Then
        MsgBox "CPF incorreto, digite novamente!!", vbOKOnly
    
    'Se não encontrar erro, prossegue.
    Else
        
        '*****************************************************************************
        'Encontra o primeiro digito do CPF
        Soma1 = 0
        Mult = 11
        For i = 1 To 9
            Mult = Mult - 1
            Soma1 = Soma1 + Mid(CPF, i, 1) * (Mult)
        Next i
        D1 = Soma1 Mod 11
                
        If D1 < 2 Then
            D1 = 0
        Else
            D1 = 11 - D1
        End If
        
        '*****************************************************************************
        'Encontra o segundo digito do CPF
        Soma2 = 0
        Mult = 12
        For i = 1 To 10
            Mult = Mult - 1
            Soma2 = Soma2 + Mid(CPF, i, 1) * (Mult)
        Next i
        D2 = Soma2 Mod 11
                    
        If D2 < 2 Then
            D2 = 0
        Else
            D2 = 11 - D2
        End If
        '*****************************************************************************
        
        If Mid(CPF, 10, 1) = D1 And Mid(CPF, 11, 1) = D2 Then
            ValidaCPF = 1
            'MsgBox "CPF Correto!!", vbOKOnly, 
        Else
            MsgBox "CPF Inorreto!! Digite novamente", vbOKOnly, 
            ValidaCPF = 0
        End If

End If

Trata_Erro_CPF: 'Tratamento de Erros do Sistema
    If Err.Number = 13 Then
            MsgBox "CPF incorreto, digite novamente!!", vbOKOnly, 

    End If

End Function

Editado por raphael_suporte
tags code
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...