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
| Function RestePar97(Nbre As String) As Integer
Dim i As Integer
RestePar97 = 0
For i = 0 To Len(Nbre) - 1
RestePar97 = (RestePar97 * 10 + CInt(Mid(Nbre, i + 1, 1))) Mod 97
Next i
End Function
Public Function BANtoIBAN(CodePays As String, BAN As String) As String
Dim NbrePays As String
Dim ValBase As String
Dim CleControle As String
'Transformation CodePays en Nbre
NbrePays = Asc(Left(UCase(CodePays), 1)) - 55 & Asc(Right(UCase(CodePays), 1)) - 55
'Base de calcul de la clé de contrôle Pays
ValBase = BAN & NbrePays & "00"
'Calcul de la clé de contrôle pays
CleControle = 98 - RestePar97(ValBase)
'Formatage à faire en fonction de votre besoin
BANtoIBAN = UCase(CodePays) & Format(CleControle, "00") & " " & Format(BAN, "@@@@ @@@@ @@@@")
End Function
Sub txtNum_AfterUpdate()
Pays = inputbox("Quel pays ?","Pays", "FR")
NumBan = inputbox("Quel numéro de banque ?","Banque", "210076597417")
msgbox BANtoIBAN(Pays,NumBan), 0, "Résultat"
End Sub |
Partager