CALCUL DE L'IBAN

BozzoDodo Messages postés 185 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 10 janvier 2008 - 28 juin 2005 à 09:56
arkosii Messages postés 1 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 14 novembre 2010 - 14 nov. 2010 à 15:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32359-calcul-de-l-iban

arkosii Messages postés 1 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 14 novembre 2010
14 nov. 2010 à 15:32
J'ai modifié le code syka ainsi :

Public Function Iban(ByVal Cmpt As String) As String
' Calcul de la clé IBAN
Dim CIban As String
Cmpt = Replace(Cmpt, "-", String.Empty) ' Suppression des - dans le compte
CIban = 98 - ((((((Cmpt.Substring(0, 9) Mod 97) & Cmpt.Substring(9, 7)) Mod 97) & Cmpt.Substring(16, 7)) Mod 97 & "1527") Mod 97 & "00") Mod 97

If CIban.Length < 2 Then CIban = "0" & CIban
' Remplacer le "BE" par "FR" si vous êtes en France
Dim c As String = String.Empty
For i As Integer = 0 To Cmpt.Length - 4 Step 4
c += Cmpt.Substring(i, 4) + "-"
Next

Return "FR" & CIban & "-" & c & Cmpt.Substring(20, 3)
End Function

et j'obtiens la bonne valeur EBAN.
cs_syka Messages postés 1 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 10 juin 2010
10 juin 2010 à 15:40
Modifier comme celà pour la france :

Dim CIban As String
Cmpt = Replace(Cmpt, "-", String.Empty) ' Suppression des - dans le compte
CIban = (98 - ((cmpt.Substring(0, 21) Mod 97 & cmpt.Substring(21, 2) & "1527") Mod 97 & "00") Mod 97)
If CIban.Length < 2 Then CIban = "0" & CIban

Return "FR" & CIban & cmpt

Et au final, ne fonctionne pas.

Il semblerait que le problème est à voir avec la longueur du RIB francais : 23 Numérique, ce qui met une variable de type long en overflow et l'opérateur Mod ne fonctionne donc pas correctement.
rolfdiensten Messages postés 1 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 1 juillet 2008
1 juil. 2008 à 14:27
Salut,

Attention pour la France, il faut remplacer "1114" (code pays BE) par "1527" (code pays FR) dans la formule, sinon ca ne marche pas.

J'en profite pour rajouter aussi que l'IBAN français à 23 chiffres après les quatre premiers caractères FRXX .

Merci pour le code :-)
cs_bouksim Messages postés 5 Date d'inscription mercredi 22 juin 2005 Statut Membre Dernière intervention 8 juillet 2006
29 juin 2005 à 22:09
salut je me suis un etudiant en developpement informatique , j'etudie vb.net et je me suis tres intresser a ce langage pouvez vous m'envoyez un cours qui est riche en informations? pour que je puisse completer mon projet et le disposer dans ce site....
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
28 juin 2005 à 15:34
VOILA... nikel c'est ce que je voulais...
10

AbrIban
ABL-Online Messages postés 62 Date d'inscription dimanche 16 septembre 2001 Statut Membre Dernière intervention 21 septembre 2006
28 juin 2005 à 15:32
Merci pour vos commentaires

Il y a aucune astuce juste l'application de ce qui est dit ici

http://www.ecbs.org/Download/EBS204_V3.2.pdf

Ce document contient les informations nécessaires pour faire la produre de calcule de la clé

Salutations,

Didier Lombet
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
28 juin 2005 à 15:01
BozzoDodo> oui, c'est du .NET et la fonction return c'est le truc qui remplace l'affectation de variable a la fin des fonction Vb6 (ENFIN !!) genre en Vb6 ca donne:
Private Function MaFonctionInt()
Dim i As Integer
i = 5
MaFonctionInt = i
End Function
et en Vb.NET ca donne ca:
Private Function MaFonctionInt()
Dim i As Integer
i = 5
return i
End Function

Il y a pas a dire, c'est quand meme BEAUCOUP plus propre (pourtant je suis pas ce que l'on pourrait appeler un adepte de .NET)... je suis en train de me demander... ca marchait pas comme ca en QBasic avant ?
ABL-Online> Excuse j'ai repondu pour toi ;) j'espère que tu m'en veut pas... mais je me suis mis au .NET il y a peu (pour le boulo) et c'est peut etre le seul truc que je trouve de bien ce "return"... fallait que je le dise. Bon sinon, je voulais te demander: ou as tu trouvé l'astuce pour l'IBAN ? je met 10 si tu me dit ou tu as trouvé l'astuce et si ca marche... En tout cas... bravo... 12 lignes... Nikel

AbrIBAN
Sirocooo Messages postés 412 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 7 avril 2008 1
28 juin 2005 à 13:01
merci 10/10
BozzoDodo Messages postés 185 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 10 janvier 2008
28 juin 2005 à 09:57
Euh... ce n'est pas du vb6! Est-ce spécifique au vb.net?
BozzoDodo Messages postés 185 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 10 janvier 2008
28 juin 2005 à 09:56
Bonjour,
A quoi sert la fonction return en vb?! C'est la 1ère fois que je vois ce code:

Return "qqch"

Bonne prog'
Rejoignez-nous