Clé rib

vouzia
Messages postés
2
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
21 octobre 2003
- 21 oct. 2003 à 09:41
banquier32
Messages postés
1
Date d'inscription
jeudi 9 octobre 2008
Statut
Membre
Dernière intervention
9 octobre 2008
- 9 oct. 2008 à 16:45
Bonjour

peut-on me dire s'il est possible d'implanter sur excel un algorithme permetant de trouver la clé rib d'un numéro de compte

merci
vouvou

2 réponses

stabe
Messages postés
144
Date d'inscription
lundi 23 décembre 2002
Statut
Membre
Dernière intervention
17 juin 2006

21 oct. 2003 à 17:54
Bonjour,

Voici une fonction VB de calcul de clé RIB. A implanter dans une macro Excel

-- stabe --

Public Function VerifCleRIB(ByVal CodeBanque As String, ByVal CodeGuichet As String, ByVal CodeCompte As String) As String

Dim A As String
Dim B As String
Dim B1, B2 As String
Dim N1 As Integer
Dim c As String
Dim D As String
Dim N2 As Integer

Dim i As Integer

VerifCleRIB = ""

' vérif si les coordonnées bancaires ne sont pas renseignées
If CodeBanque <> "" Or CodeGuichet <> "" Or CodeCompte <> "" Then

' chaine de 23 caractères
A = CodeBanque & CodeGuichet & CodeCompte & "00"

' remplacement des lettres alphabètiques par des nombres
B = ""
For i = 1 To Len(A)
Select Case UCase(Mid(A, i, 1))
Case "A", "J": B = B + "1"
Case "B", "K", "S": B = B + "2"
Case "C", "L", "T": B = B + "3"
Case "D", "M", "U": B = B + "4"
Case "E", "N", "V": B = B + "5"
Case "F", "O", "W": B = B + "6"
Case "G", "P", "X": B = B + "7"
Case "H", "Q", "Y": B = B + "8"
Case "I", "R", "Z": B = B + "9"
Case " ": B = B + "0"
Case Else: B = B + Mid(A, i, 1)
End Select
Next i

' coupure de la chaine en 2
B1 = Left(B, 13)
B2 = Right(B, 10)

' prendre le reste de la division par 97
N1 = CDec(B1) - Int(CDec(B1) / 97) * 97

' transformer ce nombre en chaine de caractères
If N1 < 10 Then
c = "0" & CStr(N1)
Else
c = CStr(N1)
End If

' concatèner les chaines
D = c & B2

' prendre le reste de la division par 97
N2 = CDec(D) - Int(CDec(D) / 97) * 97
'N2 = CDec(D) Mod 97 ' ne fonctionne pas : dépassement de capacité

' on obtient la clé RIB
If CStr(97 - N2) < 10 Then
VerifCleRIB = "0" & CStr(97 - N2)
Else
VerifCleRIB = CStr(97 - N2)
End If

End If

End Function
0
banquier32
Messages postés
1
Date d'inscription
jeudi 9 octobre 2008
Statut
Membre
Dernière intervention
9 octobre 2008

9 oct. 2008 à 16:45
bonjour, je ne comprend pas comment on calcul une clé RIB.


Qelqu'un pourait m'aider?
0