Neroc
Messages postés2Date d'inscriptionvendredi 14 septembre 2007StatutMembreDernière intervention12 décembre 2007 17 oct. 2007 à 12:11
Public Function VerifReferences(Banque, Guichet, NoCompte, Rib) As Boolean
Dim car As String, i As Integer
Dim a As Long, b As Long, C As Long
Ch = "12345678912345678923456789"
For i = 1 To Len(NoCompte)
car = Mid(NoCompte, i, 1)
If Not IsNumeric(car) Then
car = Mid(Ch, Asc(car) - 64, 1)
End If
Compte = Compte & car
Next
reference = Banque & Guichet & Compte
a = Mid(reference, 1, 7)
b = Mid(reference, 8, 7)
C = Mid(reference, 15, 7)
X = (62 * a + 34 * b + 3 * C) Mod 97
Cle = 97 - X
If Cle Val(Rib) Then VerifReferences True Else VerifReferences = False
End Function
cs_babson
Messages postés25Date d'inscriptionsamedi 7 octobre 2000StatutMembreDernière intervention16 décembre 2008 30 mai 2006 à 13:07
merci à "cboulas" bien vu!!! j'ai modifié la source...
Babson
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 201416 30 mai 2006 à 09:43
Salut, ton code m'a bien arranger mon affaire jusqu'au moment où je n'avais pas fait attention à une erreur.
Effectivement lors de la saisi d'un RIB je suis tomber sur une erreur lorsque le rib contenais la lettre K.
Le code cherchais la lettre k ou lieu de K. et oui une simple minuscule au lieu d'une majuscule. lol
Bref voici donc le nouveau Select qu'il faut mettre : (Fonction mReturnAccNo - Module ModValidation)
Select Case UCase(sDigit)
Case "A", "J"
sNewDigit = "1"
Case "B", "K", "S"
sNewDigit = "2"
Case "C", "L", "T"
sNewDigit = "3"
Case "D", "M", "U"
sNewDigit = "4"
Case "E", "N", "V"
sNewDigit = "5"
Case "F", "O", "W"
sNewDigit = "6"
Case "G", "P", "X"
sNewDigit = "7"
Case "H", "Q", "Y"
sNewDigit = "8"
Case "I", "R", "Z"
sNewDigit = "9"
End Select
cs_jeanyves
Messages postés57Date d'inscriptionsamedi 30 mars 2002StatutMembreDernière intervention24 mars 2003 14 juil. 2002 à 20:32
Ok ça marche
jyb
cs_jeanyves
Messages postés57Date d'inscriptionsamedi 30 mars 2002StatutMembreDernière intervention24 mars 2003 12 juil. 2002 à 11:59
J'ai essayé, impossible de saisir un quelconque chiffre dès la première zone de texte.!!!! jean yves
17 oct. 2007 à 12:11
Dim car As String, i As Integer
Dim a As Long, b As Long, C As Long
Ch = "12345678912345678923456789"
For i = 1 To Len(NoCompte)
car = Mid(NoCompte, i, 1)
If Not IsNumeric(car) Then
car = Mid(Ch, Asc(car) - 64, 1)
End If
Compte = Compte & car
Next
reference = Banque & Guichet & Compte
a = Mid(reference, 1, 7)
b = Mid(reference, 8, 7)
C = Mid(reference, 15, 7)
X = (62 * a + 34 * b + 3 * C) Mod 97
Cle = 97 - X
If Cle Val(Rib) Then VerifReferences True Else VerifReferences = False
End Function
30 mai 2006 à 13:07
Babson
30 mai 2006 à 09:43
Effectivement lors de la saisi d'un RIB je suis tomber sur une erreur lorsque le rib contenais la lettre K.
Le code cherchais la lettre k ou lieu de K. et oui une simple minuscule au lieu d'une majuscule. lol
Bref voici donc le nouveau Select qu'il faut mettre : (Fonction mReturnAccNo - Module ModValidation)
Select Case UCase(sDigit)
Case "A", "J"
sNewDigit = "1"
Case "B", "K", "S"
sNewDigit = "2"
Case "C", "L", "T"
sNewDigit = "3"
Case "D", "M", "U"
sNewDigit = "4"
Case "E", "N", "V"
sNewDigit = "5"
Case "F", "O", "W"
sNewDigit = "6"
Case "G", "P", "X"
sNewDigit = "7"
Case "H", "Q", "Y"
sNewDigit = "8"
Case "I", "R", "Z"
sNewDigit = "9"
End Select
14 juil. 2002 à 20:32
jyb
12 juil. 2002 à 11:59