ven. 18 avril 2025, 10h33
foxlover
France
atoutfox.public.association
Re: SIRET vérification - clé de contrôle (dernier chiffre)
bonjour francis
réponse de chatgpt que j'ai pas testé mais qui doit pas être loin de ce que tu veux faire.
Le 14e chiffre est une clé de contrôle calculée via l’algorithme de Luhn
✅ Algorithme de Luhn (résumé) :
Pour vérifier un numéro SIRET : Prenez les 13 premiers chiffres.
Appliquez l’algorithme de Luhn pour calculer le 14e chiffre attendu.
Comparez-le au 14e chiffre du SIRET.
FUNCTION GetLuhnKey(tcSiret13)
LOCAL i, nDigit, nTotal, nTmp, cDigit
nTotal = 0
* Parcourir les 13 chiffres de droite à gauche
FOR i = 13 TO 1 STEP -1
cDigit = SUBSTR(tcSiret13, i, 1)
nDigit = VAL(cDigit)
IF MOD(13 - i, 2) = 0
* Position paire (depuis la droite) : doubler
nTmp = nDigit * 2
IF nTmp > 9
nTmp = nTmp - 9
ENDIF
ELSE
* Position impaire (depuis la droite) : laisser tel quel
nTmp = nDigit
ENDIF
nTotal = nTotal + nTmp
ENDFOR
RETURN (10 - MOD(nTotal, 10)) % 10
ENDFUNC
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000020265