Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CALCUL SIREN ET SIRET


Information sur la source

Catégorie :Modules Classé sous : calcul, siren, siret Niveau : Débutant Date de création : 21/07/2000 Date de mise à jour : 10/07/2001 00:00:00 Vu : 17 886

Note :
7,88 / 10 - par 8 personnes
7,88 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

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

Commentaires et avis

signaler à un administrateur
Commentaire de brupoc le 20/12/2002 17:16:15

pas mal! Avec le RIB et le Siret je suis déjà bien outillé. Il ne manque plus que le n° de  TVA intracom, t'aurais pas çà sous le coude ?
Slts,

Ajouter un commentaire

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&#176; 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 &#224; tous. Voila je suis un tout petit dans le monde de visual basic. C la raison pour laquelle je m'adresse &#224; 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&#233;rents dans un champ suivant trois possibilit&#233;s. e Fonction de calcul [ par ThomasCo ] Salut tout le mondecomment je peux multiplier 2 Stringex: 2,5*2=5&nbsp; et 2.5*2=5 alors comment je peux obtenir le m&#234;me r&#233;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&#233;nationsj'ais modifier ma ligne c algo calcul mp3 [ par DarkLanfeust ] Salut &#224; tous !Je fais un TIPE sur le mp3 (expos&#233; a pr&#233;senter aux concours d'ecoles d'ing&#233;), 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 &#224; partir d'un fichier texte .j'ai utilis&#233; des tableaux mais mes stats sont pas Encore un problène avec un calcul de date... [ par Momone21 ] Bonjour,&nbsp;&nbsp;&nbsp;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


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.