Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > WinDev
WinDev Forum d'entraide sur la programmation en WinDev
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 22/03/2011, 10h41   #1
latysa2
Invité de passage
 
Inscription : mars 2011
Messages : 17
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 17
Points : 2
Points : 2
Par défaut Conversion de RIB en IBAN

Bonjour,
Je cherche un algorithme pour faire la converstion de RIB en IBAN et aussi la vérification de clé RIB
merci pour votre aide
latysa2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 10h48   #2
Nicolas_Jeanneau
Membre Expert
 
Homme Nicolas Jeanneau
Responsable du parc et des réseaux de télécommunication
Inscription : octobre 2010
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Jeanneau
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Responsable du parc et des réseaux de télécommunication
Secteur : Bâtiment

Informations forums :
Inscription : octobre 2010
Messages : 871
Points : 1 683
Points : 1 683
Bonjour,

dans les exemples, tu as un super-champ qui te permet de vérifier les RIB.
Pour ce qui est de la transformation de RIB en IBAN, il te faut juste transformer le RIB à partir de ce que tu trouveras comme algorithme su rWikiPedia par exemple.

à bientôt,

Nicolas
Nicolas_Jeanneau est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/03/2011, 08h57   #3
latysa2
Invité de passage
 
Inscription : mars 2011
Messages : 17
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 17
Points : 2
Points : 2
Par défaut Calcul clé IBAN

Bonjour,

j'ai fait mon petit programme mais j'ai un souci pour calculer le modulo 97
donne la doc, c'est marqué que le calcul se fait sur 66 chiffres contre 23 dans le calcul de clé RIB? quelqu'un pourras m'expliquer SVP?
latysa2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2011, 09h11   #4
OnePoint
Membre expérimenté
 
Inscription : septembre 2010
Messages : 208
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : septembre 2010
Messages : 208
Points : 535
Points : 535
Salut !
Citation:
Envoyé par latysa2 Voir le message
j'ai fait mon petit programme mais j'ai un souci pour calculer le modulo 97
donne la doc, c'est marqué que le calcul se fait sur 66 chiffres contre 23 dans le calcul de clé RIB? quelqu'un pourras m'expliquer SVP?
Ben... tu trouves plein de choses si tu te donnes la peine de chercher:
http://fr.wikipedia.org/wiki/Relev%C...C3%A9_bancaire

C'est super, non !?
OnePoint est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2011, 09h13   #5
Nicolas_Jeanneau
Membre Expert
 
Homme Nicolas Jeanneau
Responsable du parc et des réseaux de télécommunication
Inscription : octobre 2010
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Jeanneau
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Responsable du parc et des réseaux de télécommunication
Secteur : Bâtiment

Informations forums :
Inscription : octobre 2010
Messages : 871
Points : 1 683
Points : 1 683
Bonjour,

voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
entCompteur est un entier

chaIBAN, chaCaractere, chaClefIBAN sont des chaînes

numIBAN, numModulo sont des numériques (*)



chaIBAN = Gauche(CodeBanque,4) + Droite(CodeBanque,1) + Gauche(CodeGuichet,3) + Droite(CodeGuichet,2) + Gauche(NumeroCompte,2) + Droite(Gauche(NumeroCompte,6),4) + Droite(Gauche(NumeroCompte,10),4) + Droite(NumeroCompte,1) + CleRIB + "FR00"



POUR entCompteur = 1 A Taille(chaIBAN)

	chaCaractere=Milieu(chaIBAN,entCompteur,1)

	//transformation en lettre majuscule (pour être sûr)

	SI 97<=Asc(chaCaractere)<=122 ALORS

		chaCaractere=Caract(Asc(chaCaractere)-32)

	FIN

	//transformation des lettres en chaine de 2 caractères numériques

	//A =>"10" ; B=>"11" ; C=>"12" etc

	SI 65<=Asc(chaCaractere)<=90 ALORS

		chaIBAN=Gauche(chaIBAN,entCompteur-1)+NumériqueVersChaîne(Asc(chaCaractere)-55,"02d")+Milieu(chaIBAN,entCompteur+1)

		entCompteur++

	FIN

FIN



numIBAN = Val(Gauche(chaIBAN,9))

numModulo = numIBAN modulo 97

numIBAN = Val(NumériqueVersChaîne(numModulo,"02d") + Milieu(chaIBAN,10,7))

numModulo = numIBAN modulo 97

numIBAN = Val(NumériqueVersChaîne(numModulo,"02d") + Milieu(chaIBAN,17,7))

numModulo = numIBAN modulo 97

numIBAN = Val(NumériqueVersChaîne(numModulo,"02d") + Milieu(chaIBAN,24,7))

numModulo = numIBAN modulo 97

SI Taille(chaIBAN) > 30 ALORS

	numIBAN = Val(NumériqueVersChaîne(numModulo,"02d") + Milieu(chaIBAN,31,7))

	numModulo = numIBAN modulo 97

FIN

SI Taille(chaIBAN) > 37 ALORS

	numIBAN = Val(NumériqueVersChaîne(numModulo,"02d") + Milieu(chaIBAN,38,7))

	numModulo = numIBAN modulo 97

FIN



chaClefIBAN = NumériqueVersChaîne(98-numModulo,"02d")



saiIBAN = "FR" + chaClefIBAN + " " + Gauche(CodeBanque,4) + " " + Droite(CodeBanque,1) + Gauche(CodeGuichet,3) + " " + Droite(CodeGuichet,2) + Gauche(NumeroCompte,2) + " " + Droite(Gauche(NumeroCompte,6),4) + " " + Droite(Gauche(NumeroCompte,10),4) + " " + Droite(NumeroCompte,1) + CleRIB
à bientôt,

Nicolas
Nicolas_Jeanneau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 22h54   #6
latysa2
Invité de passage
 
Inscription : mars 2011
Messages : 17
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 17
Points : 2
Points : 2
Je te remercie bcp pour ta sympathie Nicolas
moi j'ai fait la mienne, elle marche, tu me diras ce que tu penses

Code :
1
2
3
4
5
6
7
//calcul modulo
nReste, nIndice sont des entiers sur 2 octets
nReste=0
POUR nIndice=1 A Taille(lsIBAN)
	nReste = modulo(nReste*10+Val(lsIBAN[[nIndice]]),97)
	
FIN
Balises [CODE] ajoutées par L.nico merci d'y penser la prochaine fois
latysa2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 23h16   #7
latysa2
Invité de passage
 
Inscription : mars 2011
Messages : 17
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 17
Points : 2
Points : 2
Bonsoir,

je dois faire un utilitaire pour modification en masse de tous les RIB salarié vers IBAN.

j'ai dèja fait mon programme qui me permet de constituer L'iban, mais je ne vois pas comment faire pour modification en masse.
est ce que je dois charger le contenu de ma table ds un fihier txt !!? et faire une boucle
merci
latysa2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 08h56   #8
Nicolas_Jeanneau
Membre Expert
 
Homme Nicolas Jeanneau
Responsable du parc et des réseaux de télécommunication
Inscription : octobre 2010
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Jeanneau
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Responsable du parc et des réseaux de télécommunication
Secteur : Bâtiment

Informations forums :
Inscription : octobre 2010
Messages : 871
Points : 1 683
Points : 1 683
Bonjour,

je pense que tu peux faire une boucle directement sur ta table. Si tu passes les RIB un par un, tu peux constituer l'IBAN associé facilement. Ainsi tu peux éviter de passer par un fichier txt.

à bientôt,

Nicolas
Nicolas_Jeanneau est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/03/2011, 15h46   #9
latysa2
Invité de passage
 
Inscription : mars 2011
Messages : 17
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 17
Points : 2
Points : 2
je te remercie bcp Nicolas,
ca marche
A+
latysa2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 22h45.


 
 
 
 
Partenaires

Hébergement Web