{"id":11607,"date":"2023-09-11T06:03:40","date_gmt":"2023-09-11T04:03:40","guid":{"rendered":"https:\/\/www.auditsi.eu\/?p=11607"},"modified":"2023-08-21T12:31:52","modified_gmt":"2023-08-21T10:31:52","slug":"excel-verifier-la-validite-dun-numero-siren","status":"publish","type":"post","link":"https:\/\/www.auditsi.eu\/?p=11607","title":{"rendered":"EXCEL : V\u00e9rifier la validit\u00e9 d&#8217;un num\u00e9ro SIREN"},"content":{"rendered":"<p style=\"text-align: justify;\">Le <strong>num\u00e9ro SIREN<\/strong> (Syst\u00e8me d&#8217;Identification du R\u00e9pertoire des ENtreprises) est un identifiant attribu\u00e9 \u00e0 chaque entreprise en France. Son r\u00f4le est de permettre une identification unique et une tra\u00e7abilit\u00e9 dans divers contextes administratifs et \u00e9conomiques.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11614\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2023\/08\/Verifie-SIREN.png\" alt=\"V\u00e9rifie SIREN\" width=\"578\" height=\"290\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2023\/08\/Verifie-SIREN.png 578w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2023\/08\/Verifie-SIREN-300x151.png 300w\" sizes=\"auto, (max-width: 578px) 100vw, 578px\" \/><\/p>\n<p style=\"text-align: justify;\">Cependant, pour garantir la pr\u00e9cision et l&#8217;int\u00e9grit\u00e9 des donn\u00e9es, il est essentiel de <strong>v\u00e9rifier la validit\u00e9<\/strong> des num\u00e9ros SIREN int\u00e9gr\u00e9s dans les bases de donn\u00e9es (fiches tiers&#8230;). Dans cet article, nous fournirons une <strong>macro VBA<\/strong> pour faciliter ce processus de v\u00e9rification apr\u00e8s un rapide propos introductif sur l&#8217;histoire de la cr\u00e9ation du SIREN.<\/p>\n<p style=\"text-align: justify;\"><strong><em>Histoire du num\u00e9ro SIREN<\/em><\/strong><\/p>\n<p style=\"text-align: justify;\">Le num\u00e9ro SIREN a \u00e9t\u00e9 <strong>introduit<\/strong> en France <strong>en 1973<\/strong> pour simplifier l&#8217;identification des entreprises et faciliter leur suivi administratif.<\/p>\n<p style=\"text-align: justify;\">Compos\u00e9 de 9 chiffres, il <strong>identifie de mani\u00e8re unique chaque entreprise enregistr\u00e9e<\/strong>, quelle que soit sa forme juridique. Le SIREN est utilis\u00e9 dans de multiples domaines, tels que les d\u00e9clarations fiscales, la gestion comptable et commerciale (identification des partenaires commerciaux)&#8230;<\/p>\n<p style=\"text-align: justify;\"><strong><em>Composition du num\u00e9ro SIREN<\/em><\/strong><\/p>\n<p style=\"text-align: justify;\">Les huit premiers chiffres du num\u00e9ro SIREN identifient l&#8217;entreprise et le neuvi\u00e8me, calcul\u00e9 \u00e0 partir des huit premiers, constitue la <strong>clef de contr\u00f4le<\/strong>. C&#8217;est la coh\u00e9rence entre les huit premiers chiffres et la clef de contr\u00f4le qu&#8217;il convient de v\u00e9rifier. La clef (ou somme) de contr\u00f4le est calcul\u00e9e selon l&#8217;algorithme de Luhn.<\/p>\n<p style=\"text-align: justify;\"><strong><em>L&#8217;algorithme de Luhn<\/em><\/strong><\/p>\n<p style=\"text-align: justify;\">L&#8217;algorithme de Luhn, \u00e9galement connu sous le nom d&#8217;algorithme de Mod 10, est une m\u00e9thode couramment utilis\u00e9e pour <strong>v\u00e9rifier l&#8217;int\u00e9grit\u00e9 des num\u00e9ros d&#8217;identification<\/strong>. &nbsp;Il a \u00e9t\u00e9 cr\u00e9\u00e9 dans les ann\u00e9es 60 par un ing\u00e9nieur allemand nomm\u00e9 Hans Peter LUHN alors qu\u2019il travaillait comme chercheur chez IBM, et sa notori\u00e9t\u00e9 prit forme lorsque les banques l\u2019adopt\u00e8rent pour v\u00e9rifier la validit\u00e9 des num\u00e9ros de cartes de cr\u00e9dit. Il repose sur un calcul de somme de contr\u00f4le pour d\u00e9tecter les erreurs de saisie ou de transmission. Il est donc utilis\u00e9 pour valider les num\u00e9ros de cartes bancaires mais aussi les num\u00e9ros de s\u00e9curit\u00e9 sociale, IMEI (t\u00e9l\u00e9phones portables), SIREN et SIRET, de TVA intracommunautaire&#8230;<\/p>\n<p style=\"text-align: justify;\">Pour <strong>v\u00e9rifier une somme de contr\u00f4le<\/strong> d&#8217;un num\u00e9ro SIREN, cet algorithme repose sur les \u00e9tapes de calcul suivantes :<\/p>\n<ol>\n<li>Doubler un chiffre sur deux (position paire) en partant de la droite vers gauche. Si le r\u00e9sultat donne un nombre \u00e0 deux chiffres, soustraire 9 pour obtenir un seul chiffre ;<\/li>\n<li>Additionner ensemble tous les num\u00e9ros obtenus lors de l&#8217;\u00e9tape 1&nbsp; ;<\/li>\n<li>Additionner tous les chiffres position impaire de droite \u00e0 gauche ;<\/li>\n<li>Additionner les r\u00e9sultats des \u00e9tapes 2 et 3 ;<\/li>\n<li>Si le r\u00e9sultat de l&#8217;\u00e9tape 4 est divisible par 10, le num\u00e9ro SIREN test\u00e9 est valide sinon, il est invalide.<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Cet algorithme est assez simple \u00e0 programmer.<\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #993366;\"><em><strong>&gt;&gt;&gt;<\/strong><\/em><\/span> Autre exemple d&#8217;application de l&#8217;algorithme de Luhn : <a href=\"https:\/\/www.auditsi.eu\/?p=1217\">contr\u00f4le de la validit\u00e9 d\u2019un num\u00e9ro de S\u00e9curit\u00e9 sociale<\/a> \/ <a href=\"https:\/\/www.auditsi.eu\/?p=6739\">calcul du num\u00e9ro de TVA intracommunautaire \u00e0 partir d&#8217;un num\u00e9ro SIREN<\/a>.<\/p>\n<p><em><strong>Macro VBA de contr\u00f4le de la validit\u00e9 du num\u00e9ro SIREN<\/strong> <\/em><\/p>\n<p style=\"text-align: justify;\">La fonction V\u00e9rifieClefLuhn_SIREN v\u00e9rifie la somme de contr\u00f4le d&#8217;un num\u00e9ro SIREN et renvoie TRUE (Vrai) si le num\u00e9ro est conforme, FALSE (Faux) dans le cas contraire.<\/p>\n<p style=\"text-align: justify;\">Exemple d&#8217;utilisation dans un classeur Excel :<\/p>\n<p style=\"text-align: center;\">=V\u00e9rifieClefLuhn_SIREN(&#8220;312212301&#8221;)<\/p>\n<p style=\"text-align: justify;\">Dans le cas pr\u00e9sent, cette formule de calcul Excel renvoie Vrai.<\/p>\n<p style=\"text-align: justify;\">Le fichier Excel est t\u00e9l\u00e9chargeable ci-apr\u00e8s.<\/p>\n<p style=\"text-align: justify;\">Code-source de la macro :<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\">'----------------------------------------------------------------------------------\r\n'\r\n' Contr\u00f4le de la validit\u00e9 d'un num\u00e9ro SIREN\r\n'\r\n' Infos : https:\/\/www.auditsi.eu\/?p=11607\r\n'\r\n'----------------------------------------------------------------------------------\r\n\r\n\r\nOption Explicit\r\n\r\n\r\n'----------------------------------------------------------------------------------\r\n'Algorithme de Luhn applicable aux num\u00e9ros SIREN et SIRET\r\n'----------------------------------------------------------------------------------\r\n\r\n\r\n'V\u00e9rifie la clef de contr\u00f4le d'une cha\u00eene (qui contient la clef) selon l'algorithme de Luhn\r\nPrivate Function V\u00e9rifieClefLuhn(Cha\u00eene As String) As Boolean\r\n    'D\u00e9claration des variables\r\n    Dim LongueurCha\u00eene As Integer\r\n    Dim i As Integer\r\n    Dim Position As Integer\r\n    Dim Chiffre As Integer\r\n    Dim Addition As Integer\r\n        \r\n    'Calcule le nombre de caract\u00e8res de la Cha\u00eene\r\n    LongueurCha\u00eene = Len(Cha\u00eene)\r\n    \r\n    Addition = 0\r\n    Position = 0\r\n    \r\n    'Parcourt chaque chiffre de la variable Cha\u00eene de droite \u00e0 gauche\r\n    For i = LongueurCha\u00eene To 1 Step -1\r\n        Position = Position + 1\r\n        \r\n        'Lit le chiffre en cours (position i dans la Cha\u00eene)\r\n        Chiffre = CInt(Mid(Cha\u00eene, i, 1))\r\n        \r\n        'Si la position est paire (\u00e0 partir de la droite), multiplier par 2\r\n        If Position Mod 2 = 0 Then 'si le reste de la division i\/2= 0 -&gt; position paire sinon impaire\r\n            Chiffre = Chiffre * 2\r\n            'Si le r\u00e9sultat de la multiplication est sup\u00e9rieur \u00e0 9, soustraire 9\r\n            If Chiffre &gt; 9 Then\r\n                Chiffre = Chiffre - 9\r\n            End If\r\n        End If\r\n        \r\n        'Additionne les chiffres au fur et \u00e0 mesure de l'ex\u00e9cution de la boucle (impairs*2 + pairs)\r\n        Addition = Addition + Chiffre\r\n    Next i\r\n    \r\n    'Calcule la clef de contr\u00f4le\r\n    V\u00e9rifieClefLuhn = (Addition Mod 10) = 0\r\nEnd Function\r\n\r\n\r\n'V\u00e9rifie la validit\u00e9 de la clef contenue dans un num\u00e9ro SIREN\r\n'   Valeur de retour :\r\n'       - VRAI : clef correcte\r\n'       - FAUX : clef erronn\u00e9e ou longueur du num\u00e9ro SIREN fourni &lt;&gt; 9\r\nFunction V\u00e9rifieClefLuhn_SIREN(Cha\u00eene As String) As Boolean\r\n    Select Case Len(Cha\u00eene)\r\n        Case 9:\r\n            V\u00e9rifieClefLuhn_SIREN = V\u00e9rifieClefLuhn(Cha\u00eene)\r\n        Case Else:\r\n            V\u00e9rifieClefLuhn_SIREN = False\r\n    End Select\r\nEnd Function<\/pre>\n<p style=\"text-align: justify;\">A noter, cette macro ne v\u00e9rifie pas l&#8217;existence du num\u00e9ro SIREN mais seulement la coh\u00e9rence entre les huit premiers chiffres et la clef de contr\u00f4le.<\/p>\n<p style=\"text-align: justify;\">___<\/p>\n<p style=\"text-align: justify;\">Approfondir le sujet : <a href=\"https:\/\/www.auditsi.eu\/?tag=siren\">SIREN<\/a> \/ <a href=\"https:\/\/www.auditsi.eu\/?p=9269\">Information l\u00e9gale des entreprises<\/a><\/p>\n<div id=\"sconnect-is-installed\" style=\"display: none; text-align: justify;\">2.13.0.0<\/div>\n<div id=\"sconnect-is-installed\" style=\"display: none;\">2.13.0.0<\/div>\n<div id=\"sconnect-is-installed\" style=\"display: none;\">2.13.0.0<\/div>\n<div id=\"sconnect-is-installed\" style=\"display: none;\">2.13.0.0<\/div>\n<div id=\"sconnect-is-installed\" style=\"display: none;\">2.13.0.0<\/div>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_counters\" href=\"https:\/\/www.hupso.com\/share\/\"><img decoding=\"async\" src=\"https:\/\/static.hupso.com\/share\/buttons\/lang\/fr\/share-small.png\" style=\"border:0px; padding-top:2px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_c=new Array(\"twitter\",\"facebook_like\",\"facebook_send\",\"email\",\"print\",\"linkedin\");var hupso_counters_lang = \"fr_FR\";var hupso_image_folder_url = \"\";var hupso_twitter_via=\"BenoitRiviere14\";var hupso_url_c=\"\";var hupso_title_c=\"EXCEL%20%3A%20V%C3%A9rifier%20la%20validit%C3%A9%20d%27un%20num%C3%A9ro%20SIREN\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"excerpt":{"rendered":"<p>Le num\u00e9ro SIREN (Syst\u00e8me d&#8217;Identification du R\u00e9pertoire des ENtreprises) est un identifiant attribu\u00e9 \u00e0 chaque entreprise en France. Son r\u00f4le est de permettre une identification unique et une tra\u00e7abilit\u00e9 dans divers contextes administratifs et \u00e9conomiques. Cependant, pour garantir la pr\u00e9cision et l&#8217;int\u00e9grit\u00e9 des donn\u00e9es, il est essentiel de v\u00e9rifier la validit\u00e9 des num\u00e9ros SIREN int\u00e9gr\u00e9s &#8230;<\/p>\n<p><a href=\"https:\/\/www.auditsi.eu\/?p=11607\" class=\"more-link\">Continue reading &lsquo;EXCEL : V\u00e9rifier la validit\u00e9 d&#8217;un num\u00e9ro SIREN&rsquo; &raquo;<\/a><\/p>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_counters\" href=\"https:\/\/www.hupso.com\/share\/\"><img src=\"https:\/\/static.hupso.com\/share\/buttons\/lang\/fr\/share-small.png\" style=\"border:0px; padding-top:2px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_c=new Array(\"twitter\",\"facebook_like\",\"facebook_send\",\"email\",\"print\",\"linkedin\");var hupso_counters_lang = \"fr_FR\";var hupso_image_folder_url = \"\";var hupso_twitter_via=\"BenoitRiviere14\";var hupso_url_c=\"\";var hupso_title_c=\"EXCEL%20%3A%20V%C3%A9rifier%20la%20validit%C3%A9%20d%27un%20num%C3%A9ro%20SIREN\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"ngg_post_thumbnail":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[48,46],"tags":[2979,522,523,2456,1788,233,900,2981,901,1784,2358,2980,1641],"class_list":["post-11607","post","type-post","status-publish","format-standard","hentry","category-excel","category-integrite-des-donnees-systeme-informatique","tag-checksum","tag-clef-de-controle","tag-controle-de-coherence","tag-fonction","tag-formule-de-luhn","tag-len","tag-mod","tag-mod-10","tag-modulo","tag-siren","tag-sirene","tag-somme-de-controle","tag-vba"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/11607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11607"}],"version-history":[{"count":6,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/11607\/revisions"}],"predecessor-version":[{"id":11617,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/11607\/revisions\/11617"}],"wp:attachment":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}