Public Function ClefSS(NumSS As Variant) As Variant '13 chiffres' Dim N As Variant Dim C As Variant N = NumSS C = Int(N / 97) C = C * 97 C = N - C ClefSS = 97 - C End Function
Cours, concis, direct, on regrette juste que les variables ne soient pas typées...
meme chose, variables pas parlante du tout
Ok changez les declarations de type as Variant par as Double.
Le but d'un tel petit "bout de code" n'est pas de donner des variables typées machin, truc ... mais de fournir l'algorithme de calcul de la clé de la sécu, ce que nous donne très bien jvuillaume. Libre à chacun de l'adapter ensuite dans "son" langage.Merci.
Qu'en est il des corses pour qui le numéro de sécu comporte une lettre?....
//Calcul de la clé de contrôle : //diviser par 97 le nombre formé par les 13 premiers chiffres, prendre le reste de cette division, puis le complément à 97. //Pour la Corse, les lettres A et B sont remplacées par des zéros, et on soustrait du nombre à 13 chiffres ainsi obtenu 1 000 000 pour A et 2 000 000 pour B.
merci "UZMENAZ" d'avoir détaillé le calcul de la clé de contrôle car je n'avais pas réussi à ouvrir la source.Si vous pouviez nous donner un exemple concret, ce serai bien, car j'ai tout de même essai le calcul manuellement mais je n'ai pas trouvé le bon numéro. En effet, qu'entendez-vous par le nombre formé des 13 premiers chiffres, est-ce qu'il faut les additionner (exple: 1+82+01+..+...+...) ou ... autrement? merci d'avance pour votre réponse.Par ailleurs, si vous connaissez une astuce pour calculer le reste d'une division plus rapidement qu'en résolvant l'opération, merci de nous la faire partager.
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 875 054 membres 262 nouveaux aujourd'hui 16 153 membres club