' =================================================================================================
' RIB |
' =================================================================================================
Function RIB(no As String) ' no = numero de compte a 21 chiffres (ou lettre)
Dim num As String
num = no
For n = 1 To Len(num)
If Mid(num, n, 1) <> " " And Not IsNumeric(Mid(num, n, 1)) Then
num = Replace(num, Mid(num, n, 1), convRIB(Mid(num, n, 1)))
End If
Next n
X = Split(num, " ")
b = CDbl(X(0))
g = CDbl(X(1))
d = CDbl(Left(X(2), 6))
C = CDbl(Right(X(2), 5))
RIB = 97 - ((89 * b + 15 * g + 76 * d + 3 * C) Mod 97)
If Len(RIB) = 1 Then RIB = "0" & RIB
RIB = CStr(RIB)
End Function
' =================================================================================================
' CONTROLE COMPTE |
' =================================================================================================
Function CtrlNoCompte(Compte) As String
If IsEmpty(Compte) Then Exit Function
If IsNumeric(Compte) Then
i = Int(Compte / 100) ' ............................................................10 premiers chiffres
digit = Compte - i * 100 ' .........................................................2 derniers chiffres
' reste de la division
reste = i - Int(i / 97) * 97
If reste = 0 Then reste = 97
If reste <> digit Then
CtrlNoCompte = "compte bancaire incorrect"
Else
CtrlNoCompte = "OK"
End If
Else
CtrlNoCompte = "compte bancaire incorrect"
End If
End Function