ROTINA DE VALIDACAO DE RG ,CPF E CNPJ
Gente Estou Precisando de uma Rotina pra validar RG, CPF e CNPJ
Agradeço desde Já
Abraços
Agradeço desde Já
Abraços
No site dever mtos exemplos de validação ;)
Me manda um e-mail que segnda te mando do trabalho a validação de CPF.
Public Function ValidaCNPJ(CNPJ As String) ' retorna True quando OK
10 On Error GoTo ValidaCNPJ_Error
20 If Trim(CNPJ) = "" Then ValidaCNPJ = True: CnpjOk = "": Exit Function
30 CNPJ = FiltroNumero(CNPJ)
40 Dim Soma As Integer
50 Dim DÃgito1, DÃgito2 As Integer
60 Dim Resto As Integer
70 ValidaCNPJ = False ' considera errado a priori
80 CnpjOk = ""
90 If Len(CNPJ) <> 14 Then
100 Exit Function
110 End If
' calcula o primeiro dÃgito
120 Soma = 0
130 Soma = Soma + Val(Mid(CNPJ, 1, 1)) * 5
140 Soma = Soma + Val(Mid(CNPJ, 2, 1)) * 4
150 Soma = Soma + Val(Mid(CNPJ, 3, 1)) * 3
160 Soma = Soma + Val(Mid(CNPJ, 4, 1)) * 2
170 Soma = Soma + Val(Mid(CNPJ, 5, 1)) * 9
180 Soma = Soma + Val(Mid(CNPJ, 6, 1)) * 8
190 Soma = Soma + Val(Mid(CNPJ, 7, 1)) * 7
200 Soma = Soma + Val(Mid(CNPJ, 8, 1)) * 6
210 Soma = Soma + Val(Mid(CNPJ, 9, 1)) * 5
220 Soma = Soma + Val(Mid(CNPJ, 10, 1)) * 4
230 Soma = Soma + Val(Mid(CNPJ, 11, 1)) * 3
240 Soma = Soma + Val(Mid(CNPJ, 12, 1)) * 2
250 Resto = Soma Mod 11
260 DÃgito1 = IIf(Resto = 0 Or Resto = 1, 0, 11 - Resto)
' calcula o segundo dÃgito
270 Soma = 0
280 Soma = Soma + Val(Mid(CNPJ, 1, 1)) * 6
290 Soma = Soma + Val(Mid(CNPJ, 2, 1)) * 5
300 Soma = Soma + Val(Mid(CNPJ, 3, 1)) * 4
310 Soma = Soma + Val(Mid(CNPJ, 4, 1)) * 3
320 Soma = Soma + Val(Mid(CNPJ, 5, 1)) * 2
330 Soma = Soma + Val(Mid(CNPJ, 6, 1)) * 9
340 Soma = Soma + Val(Mid(CNPJ, 7, 1)) * 8
350 Soma = Soma + Val(Mid(CNPJ, 8, 1)) * 7
360 Soma = Soma + Val(Mid(CNPJ, 9, 1)) * 6
370 Soma = Soma + Val(Mid(CNPJ, 10, 1)) * 5
380 Soma = Soma + Val(Mid(CNPJ, 11, 1)) * 4
390 Soma = Soma + Val(Mid(CNPJ, 12, 1)) * 3
400 Soma = Soma + DÃgito1 * 2
410 Resto = Soma Mod 11
420 DÃgito2 = IIf(Resto = 0 Or Resto = 1, 0, 11 - Resto)
430 If DÃgito1 = Val(Mid(CNPJ, 13, 1)) And DÃgito2 = Val(Mid(CNPJ, 14, 1)) Then
440 ValidaCNPJ = True
450 CnpjOk = Mid(FiltroNumero(CNPJ), 1, 2) + "." + Mid(FiltroNumero(CNPJ), 3, 3) + "." + Mid(FiltroNumero(CNPJ), 6, 3) + "/" + Mid(FiltroNumero(CNPJ), 9, 4) + "-" + Mid(FiltroNumero(CNPJ), 13, 2)
460 End If
470 On Error GoTo 0
480 Exit Function
ValidaCNPJ_Error:
490 MsgBox "Ocorreu um Erro de número " & Err.Number & " (" & Err.Description & ") na linha " & Erl & " do(a) Function ValidaCNPJ inserido no(a) Módulo Varios em Controle_Comercial," & Time & "," & Date & "," & NomeUsuario & ",Máquina " & MaquinaEstacao & ",Empresa " & Vnomefantasia & ",Drive " & DriveTrabalho
500 Call LogarErros("Ocorreu um Erro de número " + Str(Err.Number) + " (" + Err.Description + ") na linha " + Str(Erl) + " do(a) Function ValidaCNPJ inserido no(a) Módulo Varios em Controle_Comercial," + Str(Time) + "," + Str(Date) + "," + NomeUsuario + ",Máquina " + Str(MaquinaEstacao) + "," + Vnomefantasia + "," + DriveTrabalho)
End Function
Public Function ValidaCPF(ByVal CPF As String) ' retorna True quando OK
10 On Error GoTo ValidaCPF_Error
'Rotina que valida CPF
20 If Trim(CPF) = "" Then
30 ValidaCPF = True
40 CpfOk = ""
50 Exit Function
60 End If
70 CPF = FiltroNumero(CPF)
80 Dim Soma As Integer
90 Dim DÃgito1, DÃgito2 As Integer
100 Dim Resto As Integer
110 ValidaCPF = False ' considera errado a priori
120 CpfOk = ""
130 If Not IsNumeric(CPF) Or Len(CPF) <> 11 Or _
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" Or _
CPF = "00000000000" Then
140 Exit Function
150 End If
'calcula o primeiro dÃgito
'soma até o oitavo algarismo
160 Soma = 0
170 Soma = Soma + Val(Mid(CPF, 9, 1)) * 2
180 Soma = Soma + Val(Mid(CPF, 8, 1)) * 3
190 Soma = Soma + Val(Mid(CPF, 7, 1)) * 4
200 Soma = Soma + Val(Mid(CPF, 6, 1)) * 5
210 Soma = Soma + Val(Mid(CPF, 5, 1)) * 6
220 Soma = Soma + Val(Mid(CPF, 4, 1)) * 7
230 Soma = Soma + Val(Mid(CPF, 3, 1)) * 8
240 Soma = Soma + Val(Mid(CPF, 2, 1)) * 9
250 Soma = Soma + Val(Mid(CPF, 1, 1)) * 10
260 Resto = Soma Mod 11
270 DÃgito1 = IIf(Resto = 0 Or Resto = 1, 0, 11 - Resto)
'calcula o segundo dÃgito
280 Soma = 0
290 Soma = Soma + Val(Mid(CPF, 10, 1)) * 2
300 Soma = Soma + Val(Mid(CPF, 9, 1)) * 3
310 Soma = Soma + Val(Mid(CPF, 8, 1)) * 4
320 Soma = Soma + Val(Mid(CPF, 7, 1)) * 5
330 Soma = Soma + Val(Mid(CPF, 6, 1)) * 6
340 Soma = Soma + Val(Mid(CPF, 5, 1)) * 7
350 Soma = Soma + Val(Mid(CPF, 4, 1)) * 8
360 Soma = Soma + Val(Mid(CPF, 3, 1)) * 9
370 Soma = Soma + Val(Mid(CPF, 2, 1)) * 10
380 Soma = Soma + Val(Mid(CPF, 1, 1)) * 11
390 Resto = Soma Mod 11
400 DÃgito2 = IIf(Resto = 0 Or Resto = 1, 0, 11 - Resto)
410 If DÃgito1 = Val(Mid(CPF, 10, 1)) And DÃgito2 = Val(Mid(CPF, 11, 1)) Then
420 ValidaCPF = True
430 CpfOk = Mid(FiltroNumero(CPF), 1, 3) + "." + Mid(FiltroNumero(CPF), 4, 3) + "." + Mid(FiltroNumero(CPF), 7, 3) + "-" + Mid(FiltroNumero(CPF), 10, 2)
440 End If
450 On Error GoTo 0
460 Exit Function
ValidaCPF_Error:
470 MsgBox "Ocorreu um Erro de número " & Err.Number & " (" & Err.Description & ") na linha " & Erl & " do(a) Function ValidaCPF inserido no(a) Módulo Varios em Controle_Comercial," & Time & "," & Date & "," & NomeUsuario & ",Máquina " & MaquinaEstacao & ",Empresa " & Vnomefantasia & ",Drive " & DriveTrabalho
480 Call LogarErros("Ocorreu um Erro de número " + Str(Err.Number) + " (" + Err.Description + ") na linha " + Str(Erl) + " do(a) Function ValidaCPF inserido no(a) Módulo Varios em Controle_Comercial," + Str(Time) + "," + Str(Date) + "," + NomeUsuario + ",Máquina " + Str(MaquinaEstacao) + "," + Vnomefantasia + "," + DriveTrabalho)
End Function
10 On Error GoTo ValidaCNPJ_Error
20 If Trim(CNPJ) = "" Then ValidaCNPJ = True: CnpjOk = "": Exit Function
30 CNPJ = FiltroNumero(CNPJ)
40 Dim Soma As Integer
50 Dim DÃgito1, DÃgito2 As Integer
60 Dim Resto As Integer
70 ValidaCNPJ = False ' considera errado a priori
80 CnpjOk = ""
90 If Len(CNPJ) <> 14 Then
100 Exit Function
110 End If
' calcula o primeiro dÃgito
120 Soma = 0
130 Soma = Soma + Val(Mid(CNPJ, 1, 1)) * 5
140 Soma = Soma + Val(Mid(CNPJ, 2, 1)) * 4
150 Soma = Soma + Val(Mid(CNPJ, 3, 1)) * 3
160 Soma = Soma + Val(Mid(CNPJ, 4, 1)) * 2
170 Soma = Soma + Val(Mid(CNPJ, 5, 1)) * 9
180 Soma = Soma + Val(Mid(CNPJ, 6, 1)) * 8
190 Soma = Soma + Val(Mid(CNPJ, 7, 1)) * 7
200 Soma = Soma + Val(Mid(CNPJ, 8, 1)) * 6
210 Soma = Soma + Val(Mid(CNPJ, 9, 1)) * 5
220 Soma = Soma + Val(Mid(CNPJ, 10, 1)) * 4
230 Soma = Soma + Val(Mid(CNPJ, 11, 1)) * 3
240 Soma = Soma + Val(Mid(CNPJ, 12, 1)) * 2
250 Resto = Soma Mod 11
260 DÃgito1 = IIf(Resto = 0 Or Resto = 1, 0, 11 - Resto)
' calcula o segundo dÃgito
270 Soma = 0
280 Soma = Soma + Val(Mid(CNPJ, 1, 1)) * 6
290 Soma = Soma + Val(Mid(CNPJ, 2, 1)) * 5
300 Soma = Soma + Val(Mid(CNPJ, 3, 1)) * 4
310 Soma = Soma + Val(Mid(CNPJ, 4, 1)) * 3
320 Soma = Soma + Val(Mid(CNPJ, 5, 1)) * 2
330 Soma = Soma + Val(Mid(CNPJ, 6, 1)) * 9
340 Soma = Soma + Val(Mid(CNPJ, 7, 1)) * 8
350 Soma = Soma + Val(Mid(CNPJ, 8, 1)) * 7
360 Soma = Soma + Val(Mid(CNPJ, 9, 1)) * 6
370 Soma = Soma + Val(Mid(CNPJ, 10, 1)) * 5
380 Soma = Soma + Val(Mid(CNPJ, 11, 1)) * 4
390 Soma = Soma + Val(Mid(CNPJ, 12, 1)) * 3
400 Soma = Soma + DÃgito1 * 2
410 Resto = Soma Mod 11
420 DÃgito2 = IIf(Resto = 0 Or Resto = 1, 0, 11 - Resto)
430 If DÃgito1 = Val(Mid(CNPJ, 13, 1)) And DÃgito2 = Val(Mid(CNPJ, 14, 1)) Then
440 ValidaCNPJ = True
450 CnpjOk = Mid(FiltroNumero(CNPJ), 1, 2) + "." + Mid(FiltroNumero(CNPJ), 3, 3) + "." + Mid(FiltroNumero(CNPJ), 6, 3) + "/" + Mid(FiltroNumero(CNPJ), 9, 4) + "-" + Mid(FiltroNumero(CNPJ), 13, 2)
460 End If
470 On Error GoTo 0
480 Exit Function
ValidaCNPJ_Error:
490 MsgBox "Ocorreu um Erro de número " & Err.Number & " (" & Err.Description & ") na linha " & Erl & " do(a) Function ValidaCNPJ inserido no(a) Módulo Varios em Controle_Comercial," & Time & "," & Date & "," & NomeUsuario & ",Máquina " & MaquinaEstacao & ",Empresa " & Vnomefantasia & ",Drive " & DriveTrabalho
500 Call LogarErros("Ocorreu um Erro de número " + Str(Err.Number) + " (" + Err.Description + ") na linha " + Str(Erl) + " do(a) Function ValidaCNPJ inserido no(a) Módulo Varios em Controle_Comercial," + Str(Time) + "," + Str(Date) + "," + NomeUsuario + ",Máquina " + Str(MaquinaEstacao) + "," + Vnomefantasia + "," + DriveTrabalho)
End Function
Public Function ValidaCPF(ByVal CPF As String) ' retorna True quando OK
10 On Error GoTo ValidaCPF_Error
'Rotina que valida CPF
20 If Trim(CPF) = "" Then
30 ValidaCPF = True
40 CpfOk = ""
50 Exit Function
60 End If
70 CPF = FiltroNumero(CPF)
80 Dim Soma As Integer
90 Dim DÃgito1, DÃgito2 As Integer
100 Dim Resto As Integer
110 ValidaCPF = False ' considera errado a priori
120 CpfOk = ""
130 If Not IsNumeric(CPF) Or Len(CPF) <> 11 Or _
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" Or _
CPF = "00000000000" Then
140 Exit Function
150 End If
'calcula o primeiro dÃgito
'soma até o oitavo algarismo
160 Soma = 0
170 Soma = Soma + Val(Mid(CPF, 9, 1)) * 2
180 Soma = Soma + Val(Mid(CPF, 8, 1)) * 3
190 Soma = Soma + Val(Mid(CPF, 7, 1)) * 4
200 Soma = Soma + Val(Mid(CPF, 6, 1)) * 5
210 Soma = Soma + Val(Mid(CPF, 5, 1)) * 6
220 Soma = Soma + Val(Mid(CPF, 4, 1)) * 7
230 Soma = Soma + Val(Mid(CPF, 3, 1)) * 8
240 Soma = Soma + Val(Mid(CPF, 2, 1)) * 9
250 Soma = Soma + Val(Mid(CPF, 1, 1)) * 10
260 Resto = Soma Mod 11
270 DÃgito1 = IIf(Resto = 0 Or Resto = 1, 0, 11 - Resto)
'calcula o segundo dÃgito
280 Soma = 0
290 Soma = Soma + Val(Mid(CPF, 10, 1)) * 2
300 Soma = Soma + Val(Mid(CPF, 9, 1)) * 3
310 Soma = Soma + Val(Mid(CPF, 8, 1)) * 4
320 Soma = Soma + Val(Mid(CPF, 7, 1)) * 5
330 Soma = Soma + Val(Mid(CPF, 6, 1)) * 6
340 Soma = Soma + Val(Mid(CPF, 5, 1)) * 7
350 Soma = Soma + Val(Mid(CPF, 4, 1)) * 8
360 Soma = Soma + Val(Mid(CPF, 3, 1)) * 9
370 Soma = Soma + Val(Mid(CPF, 2, 1)) * 10
380 Soma = Soma + Val(Mid(CPF, 1, 1)) * 11
390 Resto = Soma Mod 11
400 DÃgito2 = IIf(Resto = 0 Or Resto = 1, 0, 11 - Resto)
410 If DÃgito1 = Val(Mid(CPF, 10, 1)) And DÃgito2 = Val(Mid(CPF, 11, 1)) Then
420 ValidaCPF = True
430 CpfOk = Mid(FiltroNumero(CPF), 1, 3) + "." + Mid(FiltroNumero(CPF), 4, 3) + "." + Mid(FiltroNumero(CPF), 7, 3) + "-" + Mid(FiltroNumero(CPF), 10, 2)
440 End If
450 On Error GoTo 0
460 Exit Function
ValidaCPF_Error:
470 MsgBox "Ocorreu um Erro de número " & Err.Number & " (" & Err.Description & ") na linha " & Erl & " do(a) Function ValidaCPF inserido no(a) Módulo Varios em Controle_Comercial," & Time & "," & Date & "," & NomeUsuario & ",Máquina " & MaquinaEstacao & ",Empresa " & Vnomefantasia & ",Drive " & DriveTrabalho
480 Call LogarErros("Ocorreu um Erro de número " + Str(Err.Number) + " (" + Err.Description + ") na linha " + Str(Erl) + " do(a) Function ValidaCPF inserido no(a) Módulo Varios em Controle_Comercial," + Str(Time) + "," + Str(Date) + "," + NomeUsuario + ",Máquina " + Str(MaquinaEstacao) + "," + Vnomefantasia + "," + DriveTrabalho)
End Function
[S32][S32][S32][S32][S32][S32][S32]
é necessario tanto?!
Alias: gostei da sua foto
é necessario tanto?!
Alias: gostei da sua foto
bom... a única coisa que daria para enxugar seria a ultima linha da rotina de tratamento de erro... que na verdade serve para criar um TXT com todos os erros q acontecem no programa...
para evitar o FDP do usuario te mandar um e-mail assim:]
"olha, deu um erro q não sei explicar, não sei onde e tinha uma mensagem q eu não decorei..."
:)))))))))))))
assim, ele te manda este txt e tem todas as merdas q aconteceram, no sistema...
e quanto a foto, vou por outras ttb,... hehehehe... essa ta causando muito "frisson"
para evitar o FDP do usuario te mandar um e-mail assim:]
"olha, deu um erro q não sei explicar, não sei onde e tinha uma mensagem q eu não decorei..."
:)))))))))))))
assim, ele te manda este txt e tem todas as merdas q aconteceram, no sistema...
e quanto a foto, vou por outras ttb,... hehehehe... essa ta causando muito "frisson"
Marcelo e Cardoso
Algumas rotinas como CPF e CNPJ tem no site, é só procurar no Localizar!
[S95]
DisponÃvel no Link VALIDAR CPF - WebMaster
é só dar uma vasculhada!
[s79]
Algumas rotinas como CPF e CNPJ tem no site, é só procurar no Localizar!
[S95]
Public Function CPFValido(CPF As String) As Boolean
Dim Soma As Integer
Dim Resto As Integer
Dim I As Integer
If Val(CPF) = 0 Then
CPFValido = False
Exit Function
End If
If Len(CPF) < 11 Then
CPF = Format(Val(CPF), "00000000000")
End If
Soma = 0
For I = 1 To 9
Soma = Soma + Val(Mid$(CPF, I, 1)) * (11 - I)
Next I
Resto = 11 - (Soma - (Int(Soma / 11) * 11))
If Resto = 10 Or Resto = 11 Then Resto = 0
If Resto <> Val(Mid(CPF, 10, 1)) Then
CPFValido = False
Exit Function
End If
Soma = 0
For I = 1 To 10
Soma = Soma + Val(Mid$(CPF, I, 1)) * (12 - I)
Next I
Resto = 11 - (Soma - (Int(Soma / 11) * 11))
If Resto = 10 Or Resto = 11 Then Resto = 0
If Resto <> Val(Mid(CPF, 11, 1)) Then
CPFValido = False
Exit Function
End If
CPFValido = True
End FunctionIf
CPFValido = True
End FunctionDisponÃvel no Link VALIDAR CPF - WebMaster
é só dar uma vasculhada!
[s79]
Tópico encerrado , respostas não são mais permitidas