Comment vérifier la validité d'un numéro de compte en banque ?
Par Benjamin le jeudi 15 février 2007, 21h25 - Général - Lien permanent - URL miniature
Très bonne question ! Est-ce que, lors d'un virement, le terminal vérifie le numéro de compte introduit dans une gigantesque base de données qui contient les numéros des millions de personnes, toutes banques confondues ? C'est un peu irréalisable ce me semble. Mais comme vous vous en doutez certainement — ou vous surestimerais-je ? — il s'agit là bel un bien d'une vérification mathématique ! Voyons ça de plus près pour bien comprendre.
En Belgique — oui parce que nous allons parler de ce qu'on connait, sinon ça perdrait un brin d'intérêt — et peut-être ailleurs, un numéro de compte se compose de 3 chiffres qui sont en fait un code identifiant la banque, 7 chiffres qui sont eux réellement le numéro du compte pour la banque et de 2 derniers chiffres qui sont là pour vérifier les autres.
La vérification se base tout simplement sur le modulo 97 de la numérisation des 10 premiers chiffres du numéro de compte et se vérifie donc sur le 2 derniers. Enfantin n'est-ce pas ? Bon, alors en plus clair : le résultat d'un calcul sur les 10 premiers chiffres est comparé avec les 2 derniers, on peut donc affirmer que le numéro est correct si les nombres comparés sont identiques.
Qu'est-ce donc que le modulo 97 d'un nombre ? C'est en fait le reste d'une division parfaite du nombre par 97. Si on prend 195 (97x2 +1) modulo 97, ça fera 1. Dans la pratique pour obtenir le modulo 97 d'un nombre, on divise ce nombre par 97, on récupère le résultat sans ses décimales que l'on multiplie par 97, puis on soustrait le résultat de la multiplication du nombre de départ.
Non, en fait ce n'est pas aussi compliqué que ça en a l'air ! Reprenons en parlant chiffres : d'abord, on divise 195 par 97, ce qui nous donne 2,0103093. Sans les décimales ça fait donc 2 que l'on multiplie par 97, on obtient 194. On soustrait maintenant 194 à 195, le nombre de départ : 195-194 = 1. Wunderbar !
Prenons un numéro de compte pour l'exemple et pour la bonne cause aussi, soyons humains, à savoir celui du CNDC-11.11.11 : 000-1703269-46. Si l'envie vous en prend, vous pourrez même faire un donc entre deux calculs...
Maintenant, procédons par étapes :
- on forme un nombre avec les 10 premiers chiffres : "000-1703269" nous donne 1703269 (1)
- on divise ce nombre (1) par 97 : on obtient 17559,474 (2)
- on laisse tomber les décimales qui représentent le reste de la division : (2) devient 17559 (3)
- on multiplie le résultat de la division sans ses décimales : 17559 (3) x 97 nous donne 1703223 (4)
- on soustrait le résultat de la multiplication au nombre original : 1703269 (1) - 1703223 (4) = 46
Incroyable ! On obtient bien comme résultat la valeur des 2 derniers chiffres du numéro de compte !
Mais qu'en est-il alors pour les numéro spéciaux comme celui de l'opération CAP 48 : 000-0000037-37 ?
C'est la même chose en fait : les 10 premiers chiffres font 37, qui divisés par 97 font 0,3814433. Si on multiplie 0 par 97, comme nous l'ont répété nos profs de math bon nombre de fois, ça fait 0. Et vu que 37 moins rien du tout ça fait 37, le compte est bon !
Vous allez maintenant vérifier votre numéro de compte juste par curiosité — mais si j'en suis sûr — et vous arriverez à la même conclusion. Vous pourrez vous endormir heureux d'être moins bête que la nuit précédente.
Commentaires
Extraordinaire, tu as rendu cela tellement intéressant !
Tout simplement... génial!
Intéressant, instructif, passionant, humoristique, et j'en passe!
C'est un plaisir de visiter Opinionz.
chouette, ça va frimer au boulot !
J'ai cherché longtemps, parce que je suis curieux, et que j'aime bien savoir les choses importantes de la vie, et voila que, sans rien demander, tu me donnes la réponse de manière tellement claire que j'ai réussi à comprendre. Et en plus, ça marche... Merci Benjamin
Merci pour cet article c'est intéressant. C'est tout à fait la meme chose pour vérifier la communication structuré genre +++006/7154/10131+++. Mais comment généré un numéro de communication structuré ou un numero de compte en banque aléatoire mais correcte? .Autrement dit quel est la formule inverse du modulo 97?
Tout simplement un grand merci
J'avais ce problème à résoudre pour un travail de vacance en programmation et là..
C'est niquel j'ai tout compris, mon programme fonctionne très bien.. encore merci
Bonjour,
Je souhaite pouvoir vérifier les VCS dans une feuille Excel, je n'arrive pas à construire la formule, pouvez vous m'aider.
En fait j'ai fait une feuille avec une colonne ou j'indique les VCS de mes payement, mais il m'arrive de me tromper en tapant, je voudrais que l'erreur sois signalée automatiquement.
Merci à vous.
Si cela intéresse qqn, voici la fonction toute simple à utliser sous M$-Excel : =mod97(valeur_cellule)
Pour Aldo et les autres, j'ai un petit tableau à ma sauce que j'utilise souvent et que je vous enverrai bien volontiers par mail si vous le souhaitez
Bonjour, sur le sujet des banques, prêts, assurances, il y a un site sympa qui donne des infos interressantes sur le sujet avec des videos : www.btheuro.tv. Thomas
Attention, beaucoup emploient une variante : le complément du modulo 97.
Explication : 1. formule classique = reste entier de la division par 97
2. formule alternative = 97 - reste entier de la division par 97
Exemples de la seconde solution : Carte SIS (soins de santé en Belgique), Carte d'identité, Identification nationale, etc...
pêchés ici : http://www.ksz-bcss.fgov.be/Fr/faq/...
kupz http://juliuslester1214.soup.io/pos... hurricane preparedness ufeo
wvnd http://hastaneyonetim.com/fkero vippi lainaa twif