EXCEL : obtenir la dénomination sociale et le numéro de TVA intracommunautaire d’une société à partir de son numéro SIREN

Lorsque l’on lance la consultation d’un site internet, le navigateur (Mozilla, Chrome, Internet Explorer…) envoie une requête à ce site. Ce site retourne sa réponse et le navigateur l’affiche, généralement, sous la forme d’une page mise en forme avec le langage HTML (HyperText Mark-Up Language) et agrémentée d’éléments dynamiques encodés PHP ou JavaScript.

Excel Fonctions DénomSoc + TVA Intracomm

Il est parfaitement possible d’envoyer des requêtes non pas à partir d’un navigateur internet mais à partir d’un programme VBA (par exemple) pour ensuite extraire les données utiles du résultat retourné par le site.

Par exemple, le site d’information juridique Pappers.fr renvoie le texte HTML (ici un extrait)  suivant  au sujet de la société PSA AUTOMOBILES SA (SIREN 542 065 479) :

Pappers.fr PSA 542 065 479 html

Ce code est affiché ainsi par un navigateur internet (ici Mozilla) :

Pappers.fr PSA 542 065 479

Le code HTML retourné par Pappers contient de nombreuses informations juridiques ayant trait à la société interrogée comme sa dénomination sociale, l’adresse de son siège social…

Il est aisé d’extraire de ce code des informations. C’est l’objet du code VBA ci-après.

Ce code crée deux fonctions directement utilisables dans des formules de calcul Excel au même titre que SOMME ou RECHERCHEV. Pour ajouter de nouvelles fonctions à Excel, lire l’article EXCEL : Créer une fonction en VBA.

Ces deux fonctions sont DénominationSociale et NuméroTVAIntracommunautaire et s’utilisent dans des formules Excel ainsi :

=DénominationSociale(“542065479”)

=NuméroTVAIntracommunautaire(“542065479”)

Function DénominationSociale(ByVal SIREN As String)
    Dim Url As String, Txt As String
    Url = "https://www.pappers.fr/entreprise/" & SIREN
    With CreateObject("WINHTTP.WinHTTPRequest.5.1")
        .Open "GET", Url, False
        .send
        Txt = .responseText
    End With
    DénominationSociale = Split(Split(Txt, "<h1 class=""small-text"">")(1), "</h1")(0)
End Function

Function NuméroTVAIntracommunautaire(ByVal SIREN As String)
    Dim Url As String, Txt As String
    Url = "https://www.pappers.fr/entreprise/" & SIREN
    With CreateObject("WINHTTP.WinHTTPRequest.5.1")
        .Open "GET", Url, False
        .send
        Txt = .responseText
    End With
    NuméroTVAIntracommunautaire = Split(Split(Txt, "TVA intracommunautaire : <span>")(1), "</span>")(0)
End Function

Ces fonctions fonctionnement toutes deux de la même manière. Elles envoient une requête (CreateObject(“WINHTTP.WinHTTPRequest.5.1”) .Open “GET”, Url, False . Send) au site Pappers (dont l’adresse est contenue dans la variable Url (https://www.pappers.fr/entreprise/” & SIREN). Le numéro SIREN contenu dans la variable SIREN est communiqué par l’utilisateur par le bias de la formule Excel.

Le résultat de la requête est récupéré par la variable Text (Txt = .responseText).

La fonction Split permet de récupérer l’information souhaitée (soit la dénomination sociale et le numéro de TVA intracommunautaire). La fonction Split convertit une chaîne de caractères en une variable tableau en fonction de séparateurs.

Extrait du code HTML contenant la dénomination sociale :

Pappers.fr PSA 542 065 479 html dénom

Extrait du code HTML contenant le numéro de TVA intracommunautaire :

Pappers.fr PSA 542 065 479 html tva intracomm

Le classeur Excel comprenant les fonctions VBA exposées ci-avant est téléchargeable ci-après.

__

Approfondir le sujet : Programmer en VBA

Share Button
Excel Fonctions DénomSoc + TVA Intracomm
Excel Fonctions DénomSoc + TVA Intracomm
Excel-Fonctions-DenomSoc-TVA-Intracomm.xlsm
15 KiB
687 téléchargements
Détails...
The following two tabs change content below.
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

8 commentaires

  1. Bonjour,
    Je regarde depuis plusieurs années vos articles qui sont vraiment très intéressant.
    L’article suivant est très intéressant pour récupérer les données des entreprises rapidement et ainsi établir les DAS2. Je viens de télécharger le fichier excel. Avec le numéro SIREN j’ai bien le nom de la société mais comment puis je obtenir l’adresse, le code postal et la ville de la société ainsi que l’activité ?
    merci par avance pour votre aide,
    bien cordialement,

  2. Bonjour,
    Merci pour votre message.
    Pour obtenir les informations souhaitées, il vous suffit de suivre le même processus que celui que j’ai suivi pour récupérer la dénomination sociale par exemple, puis coder la récupération de ces données sur le même principes.
    Cordialement,
    Benoît RIVIERE

  3. Bonjour, merci pour votre fichier Excel de recherche des dénominations et code TVA. Le fichier téléchargé fonctionne parfaitement pour la désignation sociale mais pour le code TVA. Pourriez vous m’indiquer comment je peux régler le problème, svp ?
    Merci,

  4. Bonjour,
    Je vous remercie pour cet article très intéressant qui m’ a fait découvrir le monde des API.
    La macro Excel que vous avez jointe m’a mis un pied à l’étrier pour explorer ce nouveau domaine.
    Au-delà d’un certains nombre de requêtes, il faut payer un abonnement à Pappers pour obtenir les informations. Je l’ai donc retravailler pour extraire les informations en masse mais à partir du site de l’INSEE où les requêtes sont gratuites. La seule contrainte est un plafond de 30 interrogations par minutes. Mon objectif était de collecter des données fiables, récentes et d’identifier les organisations administrativement cessées afin de les comparer avec le contenu de nos bases clients et fournisseurs.
    Encore merci pour votre article et les suivants !

  5. Bonsoir,
    Je vous remercie pour votre message. Ca fait plaisir que ce travail de recherche que j’essaye de partager ait pu vous servir.
    Dans une série de deux articles à paraître en avril et mai prochain, je propose d’exploiter l’API SIRENE. Elle a effectivement une limite de 30 requêtes à la minute mais présente l’intérêt de la gratuité. Cette API ouvre beaucoup de possibilités en matière de collecte et de mise à jour de données sur les entreprises et leurs établissements.
    Tous mes meilleurs voeux pour 2024.
    Bien cordialement,
    Benoît RIVIERE

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.