Function calcclerib(ByVal nu_compte)
Dim premier, deuxieme, troisieme, prerest, deuxrest, troisrest, valretour As String
nu_compte = Replace(nu_compte, " ", "")
nu_compte = Replace(nu_compte, "A", "1")
nu_compte = Replace(nu_compte, "J", "1")
nu_compte = Replace(nu_compte, "B", "2")
nu_compte = Replace(nu_compte, "K", "2")
nu_compte = Replace(nu_compte, "S", "2")
nu_compte = Replace(nu_compte, "C", "3")
nu_compte = Replace(nu_compte, "L", "3")
nu_compte = Replace(nu_compte, "T", "3")
nu_compte = Replace(nu_compte, "D", "4")
nu_compte = Replace(nu_compte, "M", "4")
nu_compte = Replace(nu_compte, "U", "4")
nu_compte = Replace(nu_compte, "E", "5")
nu_compte = Replace(nu_compte, "N", "5")
nu_compte = Replace(nu_compte, "V", "5")
nu_compte = Replace(nu_compte, "F", "6")
nu_compte = Replace(nu_compte, "O", "6")
nu_compte = Replace(nu_compte, "W", "6")
nu_compte = Replace(nu_compte, "G", "7")
nu_compte = Replace(nu_compte, "P", "7")
nu_compte = Replace(nu_compte, "X", "7")
nu_compte = Replace(nu_compte, "H", "8")
nu_compte = Replace(nu_compte, "Q", "8")
nu_compte = Replace(nu_compte, "Y", "8")
nu_compte = Replace(nu_compte, "I", "9")
nu_compte = Replace(nu_compte, "R", "9")
nu_compte = Replace(nu_compte, "Z", "9")
If Len(nu_compte) <> 21 Then
MsgBox(" Numéro de compte non valide")
Return "0"
End If
valretour = "0"
nu_compte = nu_compte + "00"
premier = Mid(nu_compte, 1, 7)
deuxieme = Mid(nu_compte, 8, 8)
troisieme = Mid(nu_compte, 16, 8)
prerest = LTrim(RTrim((Str(Val(premier) Mod 97))))
deuxieme = prerest + deuxieme
deuxrest = RTrim(LTrim((Str(Val(deuxieme) Mod 97))))
troisieme = deuxrest + troisieme
troisrest = LTrim(RTrim((Str(Val(troisieme) Mod 97))))
valretour = 97 - Val(troisrest)
valretour = LTrim(RTrim(Str(valretour)))
Return valretour
End Function
|