sirkülasyon
Altın Üye
- Katılım
- 10 Temmuz 2012
- Mesajlar
- 2,518
- Excel Vers. ve Dili
- 2021 LTSC TR
- Altın Üyelik Bitiş Tarihi
- 18-06-2026
Kod:
Function Mod97(Numero As String) As Integer
Nro = Numero
a = 0
B = 0
c = 0
e = Right(Nro, 6)
D = Mid(Nro, Len(Nro) - 11, 6)
Select Case Len(Nro)
Case 13 To 20
c = CDbl(Mid(Nro, 1, Len(Nro) - 12))
Case 21 To 28
c = CDbl(Mid(Nro, Len(Nro) - 19, 8))
If Len(Nro) <> 20 Then B = CDbl(Mid(Nro, 1, Len(Nro) - 20))
Case 29 To 36
c = CDbl(Mid(Nro, Len(Nro) - 19, 8))
B = CDbl(Mid(Nro, Len(Nro) - 27, 8))
a = CDbl(Mid(Nro, 1, Len(Nro) - 28))
Case Else
Mod97 = "#VALEUR!"
Exit Function
End Select
div97 = Int((a * 93 + B * 73 + c * 50 + D * 27 + e Mod 97) / 97)
Mod97 = (a * 93 + B * 73 + c * 50 + D * 27 + e Mod 97) - div97 * 97
End Function
Function convIBAN(lettre As String)
convIBAN = (Asc(lettre) - 55)
End Function
Function ControleIban(LeNumIban As String) As String
Dim x As String
LeNumIban = Replace(LeNumIban, " ", "")
LeNumIban = Right(LeNumIban, Len(LeNumIban) - 4) & Left(LeNumIban, 4)
n = 1
While n <= Len(LeNumIban)
x = Mid(LeNumIban, n, 1)
If Not IsNumeric(x) Then
LeNumIban = Replace(LeNumIban, x, convIBAN(x), 1, 1)
End If
n = n + 1
Wend
n_iban = Mod97(LeNumIban)
If n_iban = 1 Then
ControleIban = "Doğru IBAN"
Else
ControleIban = "Hatalı IBAN"
End If
End Function
Kod:
Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox8) <> 26 Then
Cancel = True
Else
TextBox8 = "TR" & Format(Right(TextBox8, 24), "00 0000 0000 0000 0000 0000 00")
End If
If ControleIban(TextBox8.Text) = "Hatalı IBAN" Then
TextBox8.BackColor = vbRed
Else
TextBox8.BackColor = vbGreen
End If
End Sub
Textbox8' e "111111111111111111111111" şeklinde giriş yapıldığı zaman modülde ki kod şekline dönüşmesini nasıl sağlayabilirim?