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
124 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

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.