Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

controle rib

58 views
Skip to first unread message

Free

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
Bonjour à tous,

je suppose que le problème a déja été soulevé mais je ne trouve trace de
reponses:

comment controler la validité d'un RIB par une macro ?

merci d'avance.

s.da...@semovim-martigues.com

Michel

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to

Bonjour.
Cette question est très embarrassante. Si tu travailles dans un organisme
financier, tu peux obtenir l'algorithme de calcul de la clé RIB: il suffit
ensuite de traduire cela en formules de calcul Excel (pas vraiment compliqué).
Sinon, il est déontologiquement interdit de diffuser cet algorithme car c'est un
outil puissant pour fabriquer des faux!
Désolé!


Bonjour à tous,

merci d'avance.

s.da...@semovim-martigues.com


.


Laurent Longre

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to

[HS] FAQ - Question d'éthique qui va faire taper sur les claviers, je le
sens...

Faut-il mettre cet algorithme dans la FAQ ?

Laurent :-)

Michel a écrit :

B Mazas

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
je suis très surpris de cette réponse, car, ayant eu à contrôler la saisie
d'un RIB, j'ai déjà eu le problème à résoudre (il y a environ 10 ans) et je
n'ai eu aucune difficulté à obtenir à cette époque auprès des banques le
principe de codification de la clé, et donc de développer une macro-fonction
(excel 4, mais la retranscription en VBA ne pose aucun pb) renvoyant VRAi si
le RIB est correct, et FAUX sinon

est-ce vraiment une affaire d'Etat ? j'aimerais vos lumières

bernard


Michel <Michel_...@Retraites-Unies.com> a écrit dans le message :
2f7901c0390d$7f9ae6b0$66862ecf@cpmsftngxa07...

Jacky @ 7+2

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to

Bonjour
Je ne suis pas vraiement sûr que cela soit une diffusion interdite, car il
suffit de demander à une banque les normes inter-bancaire et le mode de
calcul de verification de clé est fourni ainsi que la table de codification
des lettres dans les numéros de compte.
A plus
Jacky

J@C

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
je propose qu'on le propose en téléchargement dans la FAQ, mais dans un
fichier Excel protégé par mot de passe
J@C

"Laurent Longre" <laurent...@free.fr> a écrit dans le message news:
39EDB414...@free.fr...


>
> [HS] FAQ - Question d'éthique qui va faire taper sur les claviers, je le
> sens...
>
> Faut-il mettre cet algorithme dans la FAQ ?
>
> Laurent :-)
>
> Michel a écrit :
> >

jean jacques hinet

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to

bonsoir

le calcul pour contrôle de clé RIB a déjà été publié dans
la rubrique trucs et astuces de certaines revues informatiques

cet algorithme n'est pas un secret d'état, il est dans le domaine public
tout comme l'algorithme de calcul pour vérification des billets,

comme le calcul de la clé Num Sécu , c'est le résultat de la division par 97

tu trouveras une méthode par formules,sans prise en compte des lettres,
pour contrôle de validité
dans le fichier fonctions.zip à télécharger sur la FAQ de Daniel

jjh

Free a écrit :

B Mazas

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to
CQFD - à rajouter dans la liste des abréviations ;-)

merci jean jacques

bernard

jean jacques hinet <jjh...@chello.fr> a écrit dans le message :
39EDEBFB...@chello.fr...

Geo

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to

"B Mazas" a écrit ...


>
> est-ce vraiment une affaire d'Etat ? j'aimerais vos lumières

Non, il est nécessaire que toutes les entreprises qui enregistrent un RIB
puisse faire cette vérification.
C'est d'ailleurs un bel exercice puisqu'il faut prendre en compte les RIB
qui ont des lettres inside.


Geo

unread,
Oct 18, 2000, 3:00:00 AM10/18/00
to

Autant le mettre en clair, ça fera gagner une manip :-)
"J@C" a écrit ...

> je propose qu'on le propose en téléchargement dans la FAQ, mais dans un
> fichier Excel protégé par mot de passe
> J@C
>
> "Laurent Longre" <laurent...@free.fr> a écrit dans le message news:
> 39EDB414...@free.fr...
> >
> > [HS] FAQ - Question d'éthique qui va faire taper sur les claviers, je le
> > sens...
> >
> > Faut-il mettre cet algorithme dans la FAQ ?
> >
> > Laurent :-)
> >
> > Michel a écrit :
> > >
> > > Bonjour.
> > > Cette question est très embarrassante. Si tu travailles dans un
> organisme
> > > financier, tu peux obtenir l'algorithme de calcul de la clé RIB: il
> suffit
> > > ensuite de traduire cela en formules de calcul Excel (pas vraiment
> compliqué).
> > > Sinon, il est déontologiquement interdit de diffuser cet algorithme
car
> c'est un
> > > outil puissant pour fabriquer des faux!
> > > Désolé!
> > >
> > > Bonjour à tous,
> > >
> > > je suppose que le problème a déja été soulevé mais je ne trouve trace
de
> > > reponses:
> > >
> > > comment controler la validité d'un RIB par une macro ?
> > >
> > > merci d'avance.
> > >
> > > s.da...@semovim-martigues.com
> > >
> > > .
>
>

Benoît MARCHAND

unread,
Oct 18, 2000, 8:17:23 PM10/18/00
to

Bonjour,

Non, il n'y rien de secret dans la clé de RIB, c'est juste un moyen de controle
et le voici :

' Fonction Recherche de Rib
Function ClefRib(CodBanque As Single, CodGuichet As Single, _
NumCompte As String) As Integer
Dim Reste As Single, Cpte As String
Reste = (CodBanque * 100000 + CodGuichet) Mod 97
Cpte = Numériser(NumCompte)
Reste = (Reste * 10000000 + Left(Cpte, 7)) Mod 97
ClefRib = ((Reste * 10000 + Right(Cpte, 4)) * 100) Mod 97
ClefRib = 97 - (ClefRib Mod 97)
End Function

'
' Transforme un texte en nombre
'
Function Numériser(textef) As String
Application.Volatile (False)
Dim t%, n%, x$, Texte$
t = Len(textef)
Texte = UCase(textef)
For n = 1 To t
If Left(Right(Texte, t - n + 1), n) > "9" Then
x = Left(Right(Texte, t - n + 1), 1)
If x = "A" Or x = "J" Then x = 1
If x = "B" Or x = "K" Or x = "S" Then x = 2
If x = "C" Or x = "L" Or x = "T" Then x = 3
If x = "D" Or x = "M" Or x = "U" Then x = 4
If x = "E" Or x = "N" Or x = "V" Then x = 5
If x = "F" Or x = "O" Or x = "W" Then x = 6
If x = "G" Or x = "P" Or x = "X" Then x = 7
If x = "H" Or x = "Q" Or x = "Y" Then x = 8
If x = "I" Or x = "R" Or x = "Z" Then x = 9
Texte = Left(Texte, n - 1) & x & Right(Texte, t - n)
End If
Next
Numériser = Texte
End Function

J'ai écris ce code à ma sauce, c'est peut-être pas génial, mais ça marche

A+

Benead de Breiz

B Mazas a écrit :

Benoît MARCHAND

unread,
Oct 18, 2000, 8:35:29 PM10/18/00
to

Ah j'oubliais, le numéro de compte doit être au format texte et doit impérativement

comporter 11 caractères.

A+
Benead de Breiz

=?iso-8859-1?Q?Beno=EEt?= MARCHAND a écrit :

jean jacques hinet

unread,
Oct 19, 2000, 3:00:00 AM10/19/00
to

Bonjour

j'ai retrouvé la fonction VBA récupérée sur le forum Access en janvier

tes cellules doivent être au format texte pour conserver les zéros devant les
nombres

si tu as une lettre dans le N° Cpte elle doit être en majuscule

la chaîne sRib est la concaténation des champs code établissement, code guichet
et N°Cpte

Function CalculRIB(sRib As String) As String

ReDim ops(4)
Dim re As Double
Dim op As Double
Dim Inc As Integer
Dim Alpha As String
Dim car As String

Alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
For Inc = 1 To Len(sRib)
car = Mid$(sRib, Inc, 1)
If Not IsNumeric(car) Then
Mid$(sRib, Inc, 1) = Format$((InStr(Alpha, car) Mod 10), "0")
End If
Next Inc
ops(1) = Mid$(sRib, 1, 7)
ops(2) = Mid$(sRib, 8, 7)
ops(3) = Mid$(sRib$, 15, 7)
ops(4) = "00"
re = 0
op = 0
For Inc = 1 To 4
op = Val(Str$(re) + ops(Inc))
re = op - (Fix(op / 97) * 97)
Next Inc
CalculRIB = Format$(97 - re, "00")
End Function


bonne journée

jjh


0 new messages