segunda-feira, 16 de abril de 2007

Cálculo do dígito verificador - módulo 11

Estava guardado no fundo do baú.
Acho que peguei no GD da ForumAccess.
Utilização bem simples e funcional, ideal para numerações sequenciais onde não pode haver erro de digitação.

Dim DIG As Integer
Dim NUMERO As Double
Dim SOMA As Integer
Dim VETOR As String
Dim DIGITO As String
NUMERO = InputBox("Digite um número", "Número a calcular o dv")
SOMA = 0
DIGITO = ""
VETOR = "987654329876543298765432987654329876543298765432987654329876543298765432"
For I = Len(CStr(NUMERO)) To 1 Step -1
SOMA = SOMA + CInt(Mid(CStr(NUMERO), I, 1)) * CInt(Mid(VETOR, Len(CStr(NUMERO)) + 1 - I, 1))
Next I
DIG = SOMA Mod 11
If DIG = 10 Then DIGITO = "X" Else DIGITO = CStr(DIG)
MsgBox DIGITO

Um comentário:

Pesquisar este blog

Arquivo do blog

Quem sou eu

Minha foto
Administrador de Empresas/Técnico em Processamento de Dados. Microsoft Office User Specialist - Excel Proficient. Pós-graduado em Business Intelligence.