Conversion en IBAN.

vins1892

XLDnaute Nouveau
Bonjour à tous,

j'ai une base de donnée fournisseur extraite sous excel avec une série de compte bancaire au format national (France notamment) à convertir en format IBAN.

Je recherche une macro permettant d'effectuer la conversion d'une série de comptes nationaux.

Le fichier se présente comme ceci:

format national format IBAN
30004 00892 00010138841 21
30004 00892 00010038349 21

J'ai trouvé ceci comme doc' sur les cionversions IBAN et chc du RIB bancaire:

* Le calcul de la clef RIB est simple :
C'est X modulo 97 avec X = 1 nombre de 23 chiffres.
Ce nombre de 23 chiffres est composé :
- du code banque sur 5 numériques
- du code caisse (ou guichet) sur 5 numériques
- du compte sur 11 alphanumériques (il ne faut pas oublier de convertir les lettres en chiffres)
- et les 2 derniers chiffres représentent la clef RIB = '00' (pour le calcul)

Ce qui fait 5 + 5 + 11 + 2 = 23

(23 chiffres) modulo 97 = résultat
97 - résultat = clef RIB (si =0 alors 97)

* table de conversion lettre-chiffre pour le RIB :
A, J = 1
B, K, S = 2
C, L, T = 3
D, M, U = 4
E, N, V = 5
F, O, W = 6
G, P, X = 7
H, Q, Y = 8
I, R, Z = 9

Faites un test avec la calculatrice de votre PC (mode scientifique)
30012 = banque
18041 = caisse
12000450101 = compte
00 = clef pour le calcul
ce qui donne (30012180411200045010100) MOD 97 = résultat = 87
97 - résultat = 97 - 87 = 10 = clef RIB
(faites un essai avec votre compte bancaire ...)

*Pour la clef IBAN, c'est presque pareil que pour la clef RIB mais
avec 1 nombre de 66 chiffres et une conversion lettre-chiffre un
peu différente ...
(66 chiffres) modulo 97 = résultat
98 - résultat = clef IBAN

(astuce : si le compte n'est constitué que de numerique alors la
clef IBAN sera toujours = 76)

* table de conversion lettre-chiffre pour l'IBAN :
A =10 , B = 11, C = 12 ... J = 19 ... P = 25 ... Z = 35


Il existe des outils de conversion sur le net, mais il nécessite l'entrée manuel du compte national et puis la recopie de l'IBAN ...

D'avance, je vous remercie pour votre aide.

Cordialement,
 

vins1892

XLDnaute Nouveau
Re : Conversion en IBAN.

Interdit? Les banques ne peuvent en effet donner que l'IBAN d'un compte ouvert chez eux ...

Je suis néanmoins intéressé par le développement sur le sujet que vous avez fait.

Je travaille sur le sujet et ne manquerai pas de poster ici les résultats de mes recherches ...

Cordialement,
 

JCGL

XLDnaute Barbatruc
Re : Conversion en IBAN.

Bonjour à tous,
Salut PJ :),

Arf : Il est interdit de...
Mais tu donnes quand même des pistes... Trop fort

Vielles réminiscences d'il y a quarante ans : Il est interdit d'interdire... Sous les pavés...

A++ PJ ;)
A+ à tous
 

pierrejean

XLDnaute Barbatruc
Re : Conversion en IBAN.

Re

Merci JC :):)

Ce que je dois pouvoir donner :

Code:
Function convrib(lettre As String)
convrib = (Asc(lettre) - 64) Mod 9
If convrib = 0 Then convrib = 9
'A , J = 1
'B , K, S = 2
'C , L, T = 3
'D , M, U = 4
'E , N, V = 5
'F , O, W = 6
'G , P, X = 7
'H , Q, Y = 8
'I , R, Z = 9
End Function
 
Function convIBAN(lettre As String)
  convIBAN = (Asc(lettre) - 55)
End Function
 
Function rib(no As String) ' no = numero de compte a 21 chiffres (ou lettre)
Dim num As String
num = no
For n = 1 To Len(num)
  If Mid(num, n, 1) <> " " And Not IsNumeric(Mid(num, n, 1)) Then
   num = Replace(num, Mid(num, n, 1), convrib(Mid(num, n, 1)))
  End If
Next n
x = Split(num, " ")
B = CDbl(x(0))
G = CDbl(x(1))
D = CDbl(Left(x(2), 6))
C = CDbl(Right(x(2), 5))
rib = 97 - ((89 * B + 15 * G + 76 * D + 3 * C) Mod 97)
If Len(rib) = 1 Then rib = "0" & rib
rib = CStr(rib)
End Function

En sus :
Explication concernant les chiffres 89 15 76 et 3
Il s'agit des modulo 97 de 10 ^18 , 10^13 , 10^7 , 10^2

Dans le cas d'un string plus grand dont on a remplacé les lettres par la conversion adequate le principe du calcul est le même , il faut seulement decouper de façon differente et rechercher les equivalents de 89 15 etc ...
 

vins1892

XLDnaute Nouveau
Re : Conversion en IBAN.

Merci pour les infos.

Suis novice, mais comment intégrer cette fonction dans Excel ?
Je colle le code dans une macro VB?

Ensuite, où puis-je indiquer sur quelle cellule la fonction doit s'appliquer?

Dsl pour mon ignorance.
 

ludo67

XLDnaute Nouveau
Re : Conversion en IBAN.

J'aurais une question pour ma part :
- la clé IBAN vaut toujours 76 pour les comptes des banques françaises n'utilisant pas de lettre dans le numéro de compte. Mais que se passe-t-il, si ces banques utilisent des lettres ??

MERCI Beaucoupe, vous me sauvez la vie
 

alex973

XLDnaute Nouveau
Re : Conversion en IBAN.

Bonjour,
sujet tres instructif... mais actuellement je cherche le format iban : "XXXX XXXX XXXX XXXX XXXX XXXX XXX" pour affichage dans un textbox... j'ai beau cherché sur le net, je n'ai pas trouvé.... qui aurait une idée ?
Merci
Alex973
 

Discussions similaires

Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
312 103
Messages
2 085 317
Membres
102 862
dernier inscrit
Emma35400