OVH Cloud OVH Cloud

N° siret , verification ?

2 réponses
Avatar
ronando29
Dans windev je n'ai pas de champ predefini ou superchamp pr saisir un
num=E9ro siret. J'ai que num=E9ro siren. Vous ne l'avez pas non plus ?
Si non, un algo =E0 me proposer ?

Merci!

2 réponses

Avatar
Michel
a écrit :
Dans windev je n'ai pas de champ predefini ou superchamp pr saisir un
numéro siret. J'ai que numéro siren. Vous ne l'avez pas non plus ?
Si non, un algo à me proposer ?

Merci!




PROCEDURE bVerifieSiret(nNumSiret)

// Procédure qui permet de vérifier la validité d'un N° de SIRET selon
le proncipe défini ci-dessous
// ENTREE : nNumSiren : N° de SIRET à vérifier
// Le numero de SIREN doit être verifié à part par la procedure
bVerifieSiren
// La clé de contrôle utilisée est une clé 1-2
//
// Principe: On multiplie les chiffres de rang pair par 2 et les
chiffres de rang impair par 1.
// En partant de la droite, le premier chiffre est de rang impair.
// La somme des chiffres et pas des nombres doit être un multiple de 10
//
// EXEMPLE: SIREN 732 829 320
//
// Numéro Siren: 7 3 2 8 2 9 3 2 0 0 0 0 7 4
// Rang pair(*2): 1+4 0+4 0+4 0+6 0 0 1+4
// Rang impair: 3 8 9 2 0 0 4
// ----------------------------
// Calcul: 1+4+3+4+8+4+9+6+2+1+4+4P
//
// Le résultat est un multiple de 10, le numéro siret est correct

sNuméro est une chaîne = ""
nSomme est un entier = 0
nPosSiret est un entier = 0

// Convertir la valeur passée en paramètre en chaîne
sNuméro = nNumSiret

// La taille du N° de SIRET est égale à 14 chiffres
SI Taille(sNuméro) <> 14 ALORS RENVOYER Faux

sNuméro = "0"+sNuméro // astuce car pour le siret le nombre de caractere
est pair or on part de la gauche
POUR nPosSiret = 1 A 15
// Calcule lar valeur protocolaire pour les quatorze (15) chiffres
nSomme += nCalculerRang(sNuméro, nPosSiret)
FIN

// Si la somme obtenue est un multiple de 10, le numéro est correct
SI modulo(nSomme, 10) = 0 ALORS RENVOYER Vrai

RENVOYER Faux


Michel
Avatar
ronando29
Merci bien !!