Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPublic Function VerifCleIban(ByVal CodeBanque As String, ByVal CodeGuichet As String, ByVal CodeCompte As String, ByVal clerib As String) As String Dim AA As String Dim CodePays, Pays As String Pays = "FR" CodePays = Trim(Str(Asc(Mid(Pays, 1, 1)) - 55)) & Trim(Str(Asc(Mid(Pays, 2, 1)) - 55)) CodePays = CodePays & "00" Dim ccb, ccg, cnc, ccr As String ccb = CodeBanque ccg = CodeGuichet cnc = CodeCompte ccr = clerib Dim A As String Dim B As String Dim i As Integer VerifCleIban = "" If Len(CodeBanque) < 5 Then ccb = StrDup(5 - Len(ccb), "0") + ccb End If If Len(clerib) < 2 Then ccr = StrDup(2 - Len(ccr), "0") + ccr End If If Len(CodeGuichet) < 5 Then ccg = StrDup(5 - Len(ccg), "0") + ccg End If If Len(CodeCompte) < 11 Then cnc = StrDup(11 - Len(cnc), "0") + cnc End If ' vérif si les coordonnées bancaires ne sont pas renseignées If ccb <> "" And ccg <> "" And cnc <> "" Then A = Trim(ccb) & Trim(ccg) & Trim(cnc) & Trim(ccr) & Trim(CodePays) ' remplacement des lettres alphabètiques par des nombres B = "" For i = 1 To Len(A) AA = UCase(Mid(A, i, 1)) If IsNumeric(AA) = False Then AA = Trim(Str(Asc(AA) - 55)) End If B = B + AA Next i Dim clé As Object clé = 97 + 1 - (Val(B) Mod 97) ' on obtient la clé IBAN MsgBox(B & " - >" & clé) MsgBox("clef iban " & Pays & clé & "-" & ccb & ccg & cnc & ccr) End If End Function
.......... Dim clé As Decimal clé = 97 + 1 - (CDec(B) Mod 97) ' on obtient la clé IBAN MsgBox(B & " - >" & clé.ToString) MsgBox("clef iban " & Pays & clé.ToString & "-" & ccb & ccg & cnc & ccr)
clé = 97 + 1 - (CDec(B) Mod 97)
Dim clé As Decimal clé = 97 + 1 - (CDec(B) Mod 97) ' on obtient la clé IBAN MsgBox(B & " - >" & clé.ToString) MsgBox("clef iban " & Pays & clé.ToString & "-" & ccb & ccg & cnc & ccr)
Dim checksum As Integer = Integer.Parse(B.Substring(0, 1)) Dim idx As Integer = 1 While idx < B.Length Dim v As Integer = Integer.Parse(B.Substring(idx, 1)) checksum *= 10 checksum += v checksum = checksum Mod 97 System.Math.Max(System.Threading.Interlocked.Increment(idx), idx - 1) End While Dim clé As Integer = 97 + 1 - checksum ' on obtient la clé IBAN MsgBox(B & " - >" & clé.ToString("00")) MsgBox("clef iban " & Pays & clé.ToString("00") & "-" & ccb & ccg & cnc & ccr)