AccueilđŸ‡«đŸ‡·Chercher

Clé RIB

En France, la clé RIB (RIB = Relevé d'identité bancaire) est constituée de 2 chiffres entre 01 et 97 qui complÚtent un numéro de compte bancaire. Elle permet, par un algorithme, de vérifier la validité du numéro de compte.

Algorithme de calcul de la clé RIB

Le numéro de compte bancaire au format RIB comporte 23 chiffres et peut se décomposer comme suit :

oĂč est le code banque (5 chiffres), le code guichet (5 chiffres), le numĂ©ro de compte (11 signes), et la clĂ© RIB (2 chiffres).

En rĂ©alitĂ©, le numĂ©ro de compte peut ĂȘtre composĂ© Ă  la fois de chiffres et de lettres. Afin d'appliquer l'algorithme de calcul, il faut donc, le cas Ă©chĂ©ant, convertir les lettres en chiffres selon la table de correspondance ci-dessous :

1 2 3 4 5 6 7 8 9
A B C D E F G H I
J K L M N O P Q R
S T U V W X Y Z

Alors, la clé est calculée de telle sorte que le reste de la division entiÚre de par 97 soit nul et que soit compris entre 1 et 97, soit :

En particulier, nous avons :

Une formule simple pour calculer est alors :

Exemple de calcul

Prenons par exemple le numéro de compte .

Si on le décompose on a :

La formule devient donc :

Le numéro de compte complet est donc .

Algorithme de calcul qui fonctionne avec des entiers 32 bits

Le nombre qui pose problÚme est le numéro de compte, qui, à cause de ses onze chiffres, ne loge pas dans un entier 32 bits, encore moins lorsqu'il est multiplié par trois. La solution est de le séparer en deux nombres, le numéro de compte se décompose alors ainsi :

La formule simple pour calculer devient :

Elle est calculable à l'aide du type entier le plus courant dans nos systÚmes actuels, c'est-à-dire l'entier 32 bits. Une implémentation en C serait :

int cle_RIB(int b, int g, int d, int c)
{
    return 97 - ((89 * b + 15 * g + 76 * d + 3 * c) % 97);
}

VĂ©rifier un RIB avec une formule dans un tableur

Avec la liste des chiffres du RIB Ă©crite en A1 (avec ou sans la clĂ© elle-mĂȘme : 21 ou 23 caractĂšres indiffĂ©remment) :

 =97-MOD(CONCATENER(MOD(CONCATENER(MOD(STXT(A1;1;7);97);STXT(A1;8;8));97);STXT(A1;16;6))&"00";97)

Et sa version pour vérifier les numéros de comptes comportant des lettres (on substitue les lettres par le chiffre correspondant -voir ci-dessus-) :

 =97-MOD(CONCATENER(MOD(CONCATENER(MOD(STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(MAJUSCULE(A1);"A";"1");"B";"2");"C";"3");"D";"4");"E";"5");"F";"6");"G";"7");"H";"8");"I";"9");"J";"1");"K";"2");"L";"3");"M";"4");"N";"5");"O";"6");"P";"7");"Q";"8");"R";"9");"S";"2");"T";"3");"U";"4");"V";"5");"W";"6");"X";"7");"Y";"8");"Z";"9");1;7);97);STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(MAJUSCULE(A1);"A";"1");"B";"2");"C";"3");"D";"4");"E";"5");"F";"6");"G";"7");"H";"8");"I";"9");"J";"1");"K";"2");"L";"3");"M";"4");"N";"5");"O";"6");"P";"7");"Q";"8");"R";"9");"S";"2");"T";"3");"U";"4");"V";"5");"W";"6");"X";"7");"Y";"8");"Z";"9");8;8));97);STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(MAJUSCULE(A1);"A";"1");"B";"2");"C";"3");"D";"4");"E";"5");"F";"6");"G";"7");"H";"8");"I";"9");"J";"1");"K";"2");"L";"3");"M";"4");"N";"5");"O";"6");"P";"7");"Q";"8");"R";"9");"S";"2");"T";"3");"U";"4");"V";"5");"W";"6");"X";"7");"Y";"8");"Z";"9");16;6))&"00";97)
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.