Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un
formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de la
clé RIB.
Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une
fonction permettant ce contrôle ?
Merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Hervé DUCARNE
Salut ! Une ptite recherche google qui donne ça : http://www.vbfrance.com/code.aspx?IDR0
@+
"Surcouf" a écrit dans le message de news:
Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de la
clé RIB. Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une fonction permettant ce contrôle ? Merci
Salut !
Une ptite recherche google qui donne ça :
http://www.vbfrance.com/code.aspx?IDR0
@+
"Surcouf" <Surcouf@discussions.microsoft.com> a écrit dans le message de
news:89368971-6AC0-4AC3-9AB9-40D2092171F4@microsoft.com...
Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un
formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de
la
clé RIB.
Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une
fonction permettant ce contrôle ?
Merci
Salut ! Une ptite recherche google qui donne ça : http://www.vbfrance.com/code.aspx?IDR0
@+
"Surcouf" a écrit dans le message de news:
Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de la
clé RIB. Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une fonction permettant ce contrôle ? Merci
Surcouf
Merci
Super ce site vbfrance !
"Hervé DUCARNE" wrote:
Salut ! Une ptite recherche google qui donne ça : http://www.vbfrance.com/code.aspx?IDR0
@+
"Surcouf" a écrit dans le message de news:
Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de la
clé RIB. Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une fonction permettant ce contrôle ? Merci
Merci
Super ce site vbfrance !
"Hervé DUCARNE" wrote:
Salut !
Une ptite recherche google qui donne ça :
http://www.vbfrance.com/code.aspx?IDR0
@+
"Surcouf" <Surcouf@discussions.microsoft.com> a écrit dans le message de
news:89368971-6AC0-4AC3-9AB9-40D2092171F4@microsoft.com...
Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un
formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de
la
clé RIB.
Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une
fonction permettant ce contrôle ?
Merci
Salut ! Une ptite recherche google qui donne ça : http://www.vbfrance.com/code.aspx?IDR0
@+
"Surcouf" a écrit dans le message de news:
Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de la
clé RIB. Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une fonction permettant ce contrôle ? Merci
3stone
Salut,
"Surcouf" | Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un | formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de la | clé RIB. | Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une | fonction permettant ce contrôle ?
"Surcouf"
| Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un
| formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de la
| clé RIB.
| Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une
| fonction permettant ce contrôle ?
"Surcouf" | Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un | formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de la | clé RIB. | Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une | fonction permettant ce contrôle ?
Voici une fonction "maison" qui calcule la clé à partir d'un compte bancaire sur 21 positions.
******************************************************** Public Function CalculCléRib(sRib As String) As String
Dim I As Integer Dim sBanque As String * conLngBqe Dim sGuichet As String * conLngGui Dim sCompte As String * conLngCpt Dim sClé As String * 2 Dim dblPref As Double Dim lngCompte As Long Dim iClé As Integer Dim dblCalc As Double Dim dblTemp As Double Dim Z1 As String * 15 Dim Z2 As String Dim sTmp As String * 15 Dim X As Variant Dim Y As Variant
CalculCléRib = "Err"
If Len(Trim(sRib)) <> 21 Then CalculCléRib = "Err" Exit Function End If
sBanque = Left(Trim(sRib), 5) If Not IsNum(sBanque) Then CalculCléRib = "Err" Exit Function End If sGuichet = Mid(Trim(sRib), 6, 5) If Not IsNum(sGuichet) Then CalculCléRib = "Err" Exit Function End If sCompte = Trim(Mid(sRib, 11, 11)) If Not IsAlphaNum(sCompte) Then CalculCléRib = "Err" Exit Function End If
dblCalc = CDbl(sBanque & sGuichet)
Z2 = CStr(CDbl(sBanque & sGuichet) / 97) 'on ne garde que la partie entière de Z2 If InStr(Z2, gDécimal) <> 0 Then dblPref = CDbl(Left(Z2, InStr(Z2, gDécimal))) Else dblPref = CDbl(Z2) End If
'dblPref : on ne garde que le reste de la division par 97 dblTemp = dblPref * 97 dblPref = CDbl(sBanque & sGuichet) - dblTemp
For I = 1 To Len(sCompte) Select Case UCase(Mid(sCompte, I, 1)) Case "A", "J" Mid(sCompte, I, 1) = 1 Case "B", "K", "S" Mid(sCompte, I, 1) = 2 Case "C", "L", "T" Mid(sCompte, I, 1) = 3 Case "D", "M", "U" Mid(sCompte, I, 1) = 4 Case "E", "N", "V" Mid(sCompte, I, 1) = 5 Case "F", "O", "W" Mid(sCompte, I, 1) = 6 Case "G", "P", "X" Mid(sCompte, I, 1) = 7 Case "H", "Q", "Y" Mid(sCompte, I, 1) = 8 Case "I", "R", "Z" Mid(sCompte, I, 1) = 9 End Select Next
iClé = 0
Do sTmp = Format$(dblPref, "00") & sCompte & Format$(iClé, "00") If Not IsNum(sTmp) Then CalculCléRib = "Err" Exit Function End If Z2 = CStr(CDbl(sTmp) / 97) If InStr(Z2, gDécimal) <> 0 Then dblCalc = CDbl(Left(Z2, InStr(Z2, gDécimal))) Else dblCalc = CDbl(Z2) End If dblTemp = dblCalc * 97 dblCalc = CDbl(sTmp) - dblTemp If dblCalc = 0# Then If iClé = 0 Then iClé = 97 End If CalculCléRib = Format$(iClé, "00") Exit Function End If
iClé = iClé + 1 If iClé > 97 Then CalculCléRib = "Err" Exit Function End If
Loop While True
End Function ********************************************************
Cordialement.
Pierre
"3stone" a écrit dans le message de news:%
Salut,
"Surcouf" | Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un
| formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de la
| clé RIB. | Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une | fonction permettant ce contrôle ?
Voici une fonction "maison" qui calcule la clé à partir d'un compte bancaire
sur 21 positions.
********************************************************
Public Function CalculCléRib(sRib As String) As String
Dim I As Integer
Dim sBanque As String * conLngBqe
Dim sGuichet As String * conLngGui
Dim sCompte As String * conLngCpt
Dim sClé As String * 2
Dim dblPref As Double
Dim lngCompte As Long
Dim iClé As Integer
Dim dblCalc As Double
Dim dblTemp As Double
Dim Z1 As String * 15
Dim Z2 As String
Dim sTmp As String * 15
Dim X As Variant
Dim Y As Variant
CalculCléRib = "Err"
If Len(Trim(sRib)) <> 21 Then
CalculCléRib = "Err"
Exit Function
End If
sBanque = Left(Trim(sRib), 5)
If Not IsNum(sBanque) Then
CalculCléRib = "Err"
Exit Function
End If
sGuichet = Mid(Trim(sRib), 6, 5)
If Not IsNum(sGuichet) Then
CalculCléRib = "Err"
Exit Function
End If
sCompte = Trim(Mid(sRib, 11, 11))
If Not IsAlphaNum(sCompte) Then
CalculCléRib = "Err"
Exit Function
End If
dblCalc = CDbl(sBanque & sGuichet)
Z2 = CStr(CDbl(sBanque & sGuichet) / 97)
'on ne garde que la partie entière de Z2
If InStr(Z2, gDécimal) <> 0 Then
dblPref = CDbl(Left(Z2, InStr(Z2, gDécimal)))
Else
dblPref = CDbl(Z2)
End If
'dblPref : on ne garde que le reste de la division par 97
dblTemp = dblPref * 97
dblPref = CDbl(sBanque & sGuichet) - dblTemp
For I = 1 To Len(sCompte)
Select Case UCase(Mid(sCompte, I, 1))
Case "A", "J"
Mid(sCompte, I, 1) = 1
Case "B", "K", "S"
Mid(sCompte, I, 1) = 2
Case "C", "L", "T"
Mid(sCompte, I, 1) = 3
Case "D", "M", "U"
Mid(sCompte, I, 1) = 4
Case "E", "N", "V"
Mid(sCompte, I, 1) = 5
Case "F", "O", "W"
Mid(sCompte, I, 1) = 6
Case "G", "P", "X"
Mid(sCompte, I, 1) = 7
Case "H", "Q", "Y"
Mid(sCompte, I, 1) = 8
Case "I", "R", "Z"
Mid(sCompte, I, 1) = 9
End Select
Next
iClé = 0
Do
sTmp = Format$(dblPref, "00") & sCompte & Format$(iClé, "00")
If Not IsNum(sTmp) Then
CalculCléRib = "Err"
Exit Function
End If
Z2 = CStr(CDbl(sTmp) / 97)
If InStr(Z2, gDécimal) <> 0 Then
dblCalc = CDbl(Left(Z2, InStr(Z2, gDécimal)))
Else
dblCalc = CDbl(Z2)
End If
dblTemp = dblCalc * 97
dblCalc = CDbl(sTmp) - dblTemp
If dblCalc = 0# Then
If iClé = 0 Then
iClé = 97
End If
CalculCléRib = Format$(iClé, "00")
Exit Function
End If
iClé = iClé + 1
If iClé > 97 Then
CalculCléRib = "Err"
Exit Function
End If
Loop While True
End Function
********************************************************
Cordialement.
Pierre
"3stone" <spam@spam> a écrit dans le message de
news:%23c3ySK99EHA.1264@TK2MSFTNGP12.phx.gbl...
Salut,
"Surcouf"
| Je dois saisir plusieurs centaines de numéro de comptes bancaires dans
un
| formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide
de la
| clé RIB.
| Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une
| fonction permettant ce contrôle ?
Voici une fonction "maison" qui calcule la clé à partir d'un compte bancaire sur 21 positions.
******************************************************** Public Function CalculCléRib(sRib As String) As String
Dim I As Integer Dim sBanque As String * conLngBqe Dim sGuichet As String * conLngGui Dim sCompte As String * conLngCpt Dim sClé As String * 2 Dim dblPref As Double Dim lngCompte As Long Dim iClé As Integer Dim dblCalc As Double Dim dblTemp As Double Dim Z1 As String * 15 Dim Z2 As String Dim sTmp As String * 15 Dim X As Variant Dim Y As Variant
CalculCléRib = "Err"
If Len(Trim(sRib)) <> 21 Then CalculCléRib = "Err" Exit Function End If
sBanque = Left(Trim(sRib), 5) If Not IsNum(sBanque) Then CalculCléRib = "Err" Exit Function End If sGuichet = Mid(Trim(sRib), 6, 5) If Not IsNum(sGuichet) Then CalculCléRib = "Err" Exit Function End If sCompte = Trim(Mid(sRib, 11, 11)) If Not IsAlphaNum(sCompte) Then CalculCléRib = "Err" Exit Function End If
dblCalc = CDbl(sBanque & sGuichet)
Z2 = CStr(CDbl(sBanque & sGuichet) / 97) 'on ne garde que la partie entière de Z2 If InStr(Z2, gDécimal) <> 0 Then dblPref = CDbl(Left(Z2, InStr(Z2, gDécimal))) Else dblPref = CDbl(Z2) End If
'dblPref : on ne garde que le reste de la division par 97 dblTemp = dblPref * 97 dblPref = CDbl(sBanque & sGuichet) - dblTemp
For I = 1 To Len(sCompte) Select Case UCase(Mid(sCompte, I, 1)) Case "A", "J" Mid(sCompte, I, 1) = 1 Case "B", "K", "S" Mid(sCompte, I, 1) = 2 Case "C", "L", "T" Mid(sCompte, I, 1) = 3 Case "D", "M", "U" Mid(sCompte, I, 1) = 4 Case "E", "N", "V" Mid(sCompte, I, 1) = 5 Case "F", "O", "W" Mid(sCompte, I, 1) = 6 Case "G", "P", "X" Mid(sCompte, I, 1) = 7 Case "H", "Q", "Y" Mid(sCompte, I, 1) = 8 Case "I", "R", "Z" Mid(sCompte, I, 1) = 9 End Select Next
iClé = 0
Do sTmp = Format$(dblPref, "00") & sCompte & Format$(iClé, "00") If Not IsNum(sTmp) Then CalculCléRib = "Err" Exit Function End If Z2 = CStr(CDbl(sTmp) / 97) If InStr(Z2, gDécimal) <> 0 Then dblCalc = CDbl(Left(Z2, InStr(Z2, gDécimal))) Else dblCalc = CDbl(Z2) End If dblTemp = dblCalc * 97 dblCalc = CDbl(sTmp) - dblTemp If dblCalc = 0# Then If iClé = 0 Then iClé = 97 End If CalculCléRib = Format$(iClé, "00") Exit Function End If
iClé = iClé + 1 If iClé > 97 Then CalculCléRib = "Err" Exit Function End If
Loop While True
End Function ********************************************************
Cordialement.
Pierre
"3stone" a écrit dans le message de news:%
Salut,
"Surcouf" | Je dois saisir plusieurs centaines de numéro de comptes bancaires dans un
| formulaire et je souhaiterai vérifier la validité de ma saisie à l'aide de la
| clé RIB. | Est ce que, par un heureux hasard, quelqu'un aurait déjà développé une | fonction permettant ce contrôle ?