![]() |
[VBA] IBAN-nummer berekenen
IBAN = International Bank Account Number
Ik wil met VBA een IBAN-nummer kunnen "berekenen". Op zich is dit niet zo moeilijk, want: NL91 ABNA 0417 1643 00 NL = ISO landcode, in dit geval altijd NL 91 = controlegetal ABNA = naamcode bank, moet altijd ABNA zijn in dit geval 0417164300 = bankrekeningnummer, is ook bekend Als ik een ABN AMRO-bankrekeningnummer invoer moet hij automatisch dit maken: NL** ABNA 0417 1643 00 Dat is geen probleem, maar ik moet het controlegetal uitrekenen wat op de plek van de sterretjes moet staan. Maar hoe bereken ik in godsnaam dit controlegetal? Dit kan ik namelijk helaas nergens vinden... Iemand een idee? |
|
die staat dus hier: http://www.rietumu.lv/iban2.js
|
Citaat:
|
zoals ik al zei, wat jij zoekt staat op http://www.rietumu.lv/iban2.js in de code van de webpagina is namelijk hetvolgende te vinden:
<script language="JavaScript1.2" src="http://www.rietumu.lv/iban2.js"></script> src staat voor source als ik het goed heb, hiermee wordt de code in iban2.js behandeld alsof hij in de pagina staat maar op deze manier kun je heel makkelijk een ander uiterlijk plaatsen zonder lappen code te hoeven kopieren bijvoorbeeld. ps. mocht je het daar nog niet vinden, ergens onderaan function ChecksumIBAN(iban) |
Hmm, ik probeer nu deze functions te ontleden om deze om te kunnen zetten naar VBA, maar kom er niet echt uit... :s
PHP-code:
Hmmz, zou dit eigenlijk niet in JS-topic moeten? Hoewel ik me afvraa g of dat wel handig is aangezien het gaat om het omzetten naar VBA-code... |
volgens http://www.ecbs.org/Download/EBS204_V3.2.pdf
Gebruik als voorbeeld: NL91 ABNA 0417 1643 00 91 wil je berekenen. je hebt ABNA (bankcode) en 0417 1643 00 (rekeningnummer) en je weet dat je in NL (Nederland) zit. eerste stap: maak een "kunstmatig" IBAN-nummer bestaande uit landcode + "00" + bankcode + bankrekeningnummer, dus NL00ABNA0417164300 stap 2: zet de eerste vier karakters naar het einde: ABNA0417164300NL00 stap 3: zet de letters om naar cijfers volgens de methode: A=10, B=11, C=12 ... Z=35: 101123100417164300232100 stap 4: Bereken de modulo van dat getal met 97 en trek het resultaat daarvan af van 98. Als je dan een getal van één cijfer overhoudt, plak er dan een 0 voor. modulo van 101123100417164300232100 met 97 = 7. Trek dat af van 98 --> 91. Daar is je controlegetal. |
Probeer nu met VBA de modulo te berekenen met de operator Mod, maar deze geeft als foutmelding: "Overloop":
PHP-code:
Citaat:
Zoals gezegt kan dit worden veroorzaakt doordat het getal in de berekening groter is dan een integer. Ik heb het gegeven advies gevolgt, maar toch krijg ik weer de melding "Overloop". Wie heeft er een work-a-round? |
Alle tijden zijn GMT +1. Het is nu 14:48. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.