Calcul clé insee (n° sécurité sociale)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 55 302 fois - Téléchargée 80 fois

Contenu du snippet

Comme son nom l'indique. Cette routine calcule ou contrôle un numéro Insee.

Source / Exemple :


Function Clé_Insee(Insee As String) As String

Dim Insee_Compacté As String

Insee_Compacté = NoSpaceInString(Insee)
Clé_Insee = 97 - (((Left([Insee_Compacté], 9) Mod 97) & (Right([Insee_Compacté], 4))) Mod 97)

End Function

Function Controle_Clé_Insee(Insee As String, Clé_Reçue As String) As Boolean

Controle_Clé_Insee = (Clé_Reçue = Clé_Insee(Insee))

If Not Controle_Clé_Insee Then
   MsgBox "Clé Insee erronée", vbCritical, "Erreur"

End If

End Function

Function NoSpaceInString(Chaine As String) As String

Dim i As Integer

For i = 1 To Len(Chaine)
   If Mid$(Chaine, i, 1) <> " " Then
      NoSpaceInString = NoSpaceInString & Mid$(Chaine, i, 1)
   End If
Next i

End Function

A voir également

Ajouter un commentaire

Commentaires

rnosat
Messages postés
132
Date d'inscription
mardi 31 octobre 2000
Statut
Membre
Dernière intervention
2 mai 2004
-
un exemple ou un zip serait le bienvenu , non ?
A +
RnoSat
cs_dapo
Messages postés
3
Date d'inscription
mardi 20 mai 2003
Statut
Membre
Dernière intervention
20 mai 2003
-
Mouais... Cette version ne prend pas en compte "l'exception corse" (CI de naissance contient "2A" ou "2B").

Pour cela :
- remplacer le caractère alphanumérique (A ou B) par un "0" (zéro).
- soustraire du nombre à 13 chiffres la valeur 1000000 (si la lettre était A) ou 2000000 (si la lettre était B)
- effectuer ensuite le calcul "normal"

Voilà, c'est tout !

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.