Accueil > > > CALCUL SIREN ET SIRET
CALCUL SIREN ET SIRET
Information sur la source
Description
Comme son nom l'indique. Cette routine calcule ou contrôle un numéro Siren ou un siret entier.
Source
- Option Explicit
-
- Function Clé_Siren(Siren_sur_huit As String) As Byte
-
- Dim Tampon_Siren As String
- Dim Position As Byte
- Dim Cumul_Siren As Integer
-
- Tampon_Siren = ""
- For Position = 1 To 8
- Tampon_Siren = Tampon_Siren + CStr(Val(Mid(Siren_sur_huit, Position, 1)) * IIf((Position Mod 2) = 0, 2, 1))
- Next Position
-
- Cumul_Siren = 0
- For Position = 1 To Len(Tampon_Siren)
- Cumul_Siren = Cumul_Siren + Val(Mid(Tampon_Siren, Position, 1))
- Next Position
- Clé_Siren = Right(10 - Val(Right(Cumul_Siren, 1)), 1)
-
- End Function
-
- Function Clé_Siret(Siret_sur_treize As String) As Byte
-
- Dim Tampon_Siret As String
- Dim Position As Byte
- Dim Cumul_Siret As Integer
-
- Tampon_Siret = ""
- For Position = 1 To 13
- Tampon_Siret = Tampon_Siret + CStr(Val(Mid(Siret_sur_treize, Position, 1)) * IIf((Position Mod 2) = 0, 1, 2))
- Next Position
-
- Cumul_Siret = 0
- For Position = 1 To Len(Tampon_Siret)
- Cumul_Siret = Cumul_Siret + Val(Mid(Tampon_Siret, Position, 1))
- Next Position
- Clé_Siret = Right(10 - Val(Right(Cumul_Siret, 1)), 1)
-
- End Function
-
- Function Siren_Valide(Siren As String) As Boolean
-
- Dim Tampon_Siren As String
- Dim Position As Byte
- Dim Cumul_Siren As Integer
-
- Siren_Valide = False
- If Len(Siren) <> 9 Then Exit Function
-
- Tampon_Siren = ""
- For Position = 1 To 9
- Tampon_Siren = Tampon_Siren + CStr(Val(Mid(Siren, Position, 1)) * IIf((Position Mod 2) = 0, 2, 1))
- Next Position
-
- Cumul_Siren = 0
- For Position = 1 To Len(Tampon_Siren)
- Cumul_Siren = Cumul_Siren + Val(Mid(Tampon_Siren, Position, 1))
- Next Position
-
- Siren_Valide = ((Cumul_Siren Mod 10) = 0)
-
- End Function
-
- Function Siret_Valide(Siret As String) As Boolean
-
- Dim Tampon_Siret As String
- Dim Position As Byte
- Dim Cumul_Siret As Integer
-
- Siret_Valide = False
- If Len(Siret) <> 14 Then Exit Function
-
- If Siren_Valide(Left(Siret, 9)) Then
- Siret_Valide = IsNumeric(Right(Siret, 5))
- If Not Siret_Valide Then
- Exit Function
- Else
- Tampon_Siret = ""
- For Position = 1 To 14
- Tampon_Siret = Tampon_Siret + CStr(Val(Mid(Siret, Position, 1)) * IIf((Position Mod 2) = 0, 1, 2))
- Next Position
-
- Cumul_Siret = 0
- For Position = 1 To Len(Tampon_Siret)
- Cumul_Siret = Cumul_Siret + Val(Mid(Tampon_Siret, Position, 1))
- Next Position
- Siret_Valide = (Cumul_Siret Mod 10 = 0)
- End If
-
- End If
-
- End Function
Option Explicit
Function Clé_Siren(Siren_sur_huit As String) As Byte
Dim Tampon_Siren As String
Dim Position As Byte
Dim Cumul_Siren As Integer
Tampon_Siren = ""
For Position = 1 To 8
Tampon_Siren = Tampon_Siren + CStr(Val(Mid(Siren_sur_huit, Position, 1)) * IIf((Position Mod 2) = 0, 2, 1))
Next Position
Cumul_Siren = 0
For Position = 1 To Len(Tampon_Siren)
Cumul_Siren = Cumul_Siren + Val(Mid(Tampon_Siren, Position, 1))
Next Position
Clé_Siren = Right(10 - Val(Right(Cumul_Siren, 1)), 1)
End Function
Function Clé_Siret(Siret_sur_treize As String) As Byte
Dim Tampon_Siret As String
Dim Position As Byte
Dim Cumul_Siret As Integer
Tampon_Siret = ""
For Position = 1 To 13
Tampon_Siret = Tampon_Siret + CStr(Val(Mid(Siret_sur_treize, Position, 1)) * IIf((Position Mod 2) = 0, 1, 2))
Next Position
Cumul_Siret = 0
For Position = 1 To Len(Tampon_Siret)
Cumul_Siret = Cumul_Siret + Val(Mid(Tampon_Siret, Position, 1))
Next Position
Clé_Siret = Right(10 - Val(Right(Cumul_Siret, 1)), 1)
End Function
Function Siren_Valide(Siren As String) As Boolean
Dim Tampon_Siren As String
Dim Position As Byte
Dim Cumul_Siren As Integer
Siren_Valide = False
If Len(Siren) <> 9 Then Exit Function
Tampon_Siren = ""
For Position = 1 To 9
Tampon_Siren = Tampon_Siren + CStr(Val(Mid(Siren, Position, 1)) * IIf((Position Mod 2) = 0, 2, 1))
Next Position
Cumul_Siren = 0
For Position = 1 To Len(Tampon_Siren)
Cumul_Siren = Cumul_Siren + Val(Mid(Tampon_Siren, Position, 1))
Next Position
Siren_Valide = ((Cumul_Siren Mod 10) = 0)
End Function
Function Siret_Valide(Siret As String) As Boolean
Dim Tampon_Siret As String
Dim Position As Byte
Dim Cumul_Siret As Integer
Siret_Valide = False
If Len(Siret) <> 14 Then Exit Function
If Siren_Valide(Left(Siret, 9)) Then
Siret_Valide = IsNumeric(Right(Siret, 5))
If Not Siret_Valide Then
Exit Function
Else
Tampon_Siret = ""
For Position = 1 To 14
Tampon_Siret = Tampon_Siret + CStr(Val(Mid(Siret, Position, 1)) * IIf((Position Mod 2) = 0, 1, 2))
Next Position
Cumul_Siret = 0
For Position = 1 To Len(Tampon_Siret)
Cumul_Siret = Cumul_Siret + Val(Mid(Tampon_Siret, Position, 1))
Next Position
Siret_Valide = (Cumul_Siret Mod 10 = 0)
End If
End If
End Function
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
rech prog pour verif SIRET et SIREN [ par goupil97 ]
bonjour je recherche prog ou codes ( debutant avec explications), afin de pouvoir controler un n° de SIRET et SIREN. merci d'avance
calcul dans un userform de 2 text box dans une troisieme en temps réel [ par danto ]
Bonjour à tous. Voila je suis un tout petit dans le monde de visual basic. C la raison pour laquelle je m'adresse à vous tous. Voila mon
CALCUL avec plusieurs conditions dans requete ou vba [ par marietotsie ]
dans un formulaire (avec comme source une requete) J'ai besoin de faire trois calculs différents dans un champ suivant trois possibilités. e
Fonction de calcul [ par ThomasCo ]
Salut tout le mondecomment je peux multiplier 2 Stringex: 2,5*2=5 et 2.5*2=5 alors comment je peux obtenir le même résultat 5 soit je
un calcul tout simple devenu une usine a gaz [ par pascallac ]
je suis toujours avec mon petit programme de caculau debut j'avais une inversion avec une addition et une concaténationsj'ais modifier ma ligne c
algo calcul mp3 [ par DarkLanfeust ]
Salut à tous !Je fais un TIPE sur le mp3 (exposé a présenter aux concours d'ecoles d'ingé), et il me manque cruellement un apport
Un INSERT trop lent !!!! [ par PtitGrumo ]
Bonjour tous,Sous Access VBA :Voila j'ai deux formulaires FormA et FormBLe FormA effectue des calculs sur des fiches saisi dans le formulaire FormBOui
Help, calcul de Stats avec VBSCript [ par chris94982004 ]
Hello SVP, j'ai un petit pb de calcul de stats avec Vbscript à partir d'un fichier texte .j'ai utilisé des tableaux mais mes stats sont pas
Encore un problène avec un calcul de date... [ par Momone21 ]
Bonjour, Je cherche une fonction ou un code qui me permettrait de savoir le nombre de jours qu'il reste avant le prochain anniversair
dll statistique [ par alonsyl ]
bonjour,j'aimerais savoir s'il existe une dll permettant le calcul de fonctions statistiques (gaussienne, beta, fisher notamment).sinon, connaitriez-v
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|