Vérifier la validité d'un compte bancaire ou postal

Soyez le premier à donner votre avis sur cette source.

Vue 63 311 fois - Téléchargée 1 540 fois

Description

Dernière mise à jour du 15/07/2002 le code a été simplifier à l'aide de la fonction IsNumeric, mais j'attend tout vos suggestion pour l'utilisation d'un tableau (array) a la place du SELECT CASE. (VOIR correspondance des lettres et des chiffres dans le code)

Vérifier la validité de la clé RIB du compte bancaire et du compte postal

code banque 5 chiffres
code guichet 5 chiffres
No compte 11 chiffres ou 10 chiffres et une lettre
clé RIB 2 chiffres

"BABSON"

Conclusion :


si vous avez des suggestions au niveau de la fonction qui convertit les lettres en chiffres (par exemple l'utilisation d'un tableau au lieu du "Select Case" ) , ou toutes autres suggestions, envoyez-les moi par email

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_jeanyves
Messages postés
57
Date d'inscription
samedi 30 mars 2002
Statut
Membre
Dernière intervention
24 mars 2003
-
J'ai essayé, impossible de saisir un quelconque chiffre dès la première zone de texte.!!!! jean yves
cs_jeanyves
Messages postés
57
Date d'inscription
samedi 30 mars 2002
Statut
Membre
Dernière intervention
24 mars 2003
-
Ok ça marche
jyb
cboulas
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11 -
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_babson
Messages postés
25
Date d'inscription
samedi 7 octobre 2000
Statut
Membre
Dernière intervention
16 décembre 2008
-
merci à "cboulas" bien vu!!! j'ai modifié la source...
Babson
Neroc
Messages postés
2
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
12 décembre 2007
-
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.