1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Public Function IsRibOk(ByVal rib As String)
Dim RibOrg As String
Dim RibFin As String
Dim strTemp As String
Dim iPnt As Integer
Dim iposit As Integer
rib = Left$(rib & String$(23, " "), 23)
'table substitution des carateres
RibOrg = "AJBKSCLTDMUENVFOWGPXHQYIRZ"
RibFin = "11222333444555666777888999"
'substitution
For iPnt = 1 To 26 'lettres de l'alphabet
iposit = InStr(rib, Mid$(RibOrg$, iPnt, 1))
If iposit <> 0 Then
Mid$(rib, iposit, 1) = Mid$(RibFin$, iPnt, 1)
End If
Next iPnt
'division par 97
strTemp = ""
For iPnt = 1 To 23 'longeur du rib
strTemp = Str$(Val(strTemp & Mid$(rib, iPnt, 1)) Mod 97)
Next iPnt
If Val(strTemp) <> 0 Then
IsRibOk = False
Else
IsRibOk = True
End If
End Function |
Partager