Vérifier IBAN en Excel / en VBA

Contenu du snippet

Une fonction VBA pour vérifier la validité du numéro de compte IBAN/
Plus d'infos ici: http://excel-malin.com/codes-sources-vba/verifier-iban/

Public Function CorrectIBAN(NumeroIBAN)
' --> Function pour vérifier si le numéro de compte IBAN est correct
'par: http://excel-malin.com
 
On Error GoTo IBANErreur
 
IBAN_chaine = CStr(NumeroIBAN)
IBAN_nettoye = ""
 
'supprimer les caractères indésirables (garde: 0-9 et A-Z, transforme minuscules en majuscules)
For IBAN_char = 1 To Len(IBAN_chaine)
    IBAN_char_test = Mid(IBAN_chaine, IBAN_char, 1)
    Select Case IBAN_char_test
        Case 0 To 9, "a" To "z", "A" To "Z"
            IBAN_nettoye = IBAN_nettoye & UCase(IBAN_char_test)
        Case Else
    End Select
Next IBAN_char
 
'replacer les 4 premiers caractères à la fin
IBAN_position = Right(IBAN_nettoye, Len(IBAN_nettoye) - 4) & Left(IBAN_nettoye, 4)
 
'remplacer les lettres par chiffres
IBAN_numeric = ""
 For IBAN_char2 = 1 To Len(IBAN_position)
    IBAN_char_test2 = Mid(IBAN_position, IBAN_char2, 1)
    Select Case IBAN_char_test2
        Case "A" To "Z"
            IBAN_numeric = IBAN_numeric & CStr(Asc(IBAN_char_test2) - 55)
        Case Else
            IBAN_numeric = IBAN_numeric & IBAN_char_test2
    End Select
Next IBAN_char2
 
'vérifie le modulo 97 (doit être égal à 1)
IBAN_final = CDec(IBAN_numeric)
IBAN_modulo = IBAN_final - Fix(IBAN_final / 97) * 97
 
' résultat de la vérification
 If IBAN_modulo = 1 Then
    CorrectIBAN = True
 Else
    CorrectIBAN = False
 End If
 
Exit Function
IBANErreur:
'CorrectIBAN = CVErr(xlErrValue)
CorrectIBAN = False
End Function

A voir également

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.