XL 2016 [VBA] recherche des codes postale par rapport au numéro de sien de l'entreprise

  • Initiateur de la discussion Initiateur de la discussion Anr1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Anr1

XLDnaute Occasionnel
Bonjour,

je demands votre aide sur le domaine de codage en VBA svp.

J'ai un fichier Excel avec des numéros des SIREN des entreprises et je cherche à voir la région ou se trouve l'entreprise..

Est ce qu'il existe un code VBA pour trouver le code postal d'une Siren d'entreprise?


Merci par avance 🙂
 
Solution
Bonjour à tous,
Voici une démo pour récupérer un CP d'après un SIREN (liste des SIREN à placer en colonne A) :
Demo_cpsiren.gif
bonjour,

Vous avez un formulaire de recherche sur la page de Sirene.fr :

Sinon l'api officielle (lisez bien dans quel cadre vous pouvez utilisez l'api, loi informatique et liberté RGPD, etc),
Si elle est gratuite, il faut néanmoins ouvrir un compte pour l'utiliser.


Et la base de données (sous différentes formes) en open source

Cordialement
 
Bonjour à tous,
Alors pour expliquer le code :
* Le principe est d'interroger un site publique de données en Opendata (publique et gratuit)
* Ce site retourne un résultat au format json
* Pour lire ce json, on injecte du javascript pour faciliter le décodage
* Les 2 functions importées (pour le "ScriptControl") des sites indiqués sont utilisées ici pour rendre le code compatible office 32bits et 64 bits
* ce code provient d'une de mes appli plus complète, ici très simplifié, donc certains éléments ne sont pas utilisés pour une simple lecture du CP. En fait on peut récupérer aussi les fiches signalétiques complètes des établissements avec multi-adresses le cas échéant, par exemple on pourrait ajouter :
VB:
    .Cells(i, "B").Value = "'" & Rcd.TRcd(0).codepostaletablissement
    .Cells(i, "C").Value = "'" & Rcd.TRcd(0).siretsiegeunitelegale
    .Cells(i, "D").Value = "'" & Rcd.TRcd(0).libellecommuneetablissement
 
Bonjour à tous,
Alors pour expliquer le code :
* Le principe est d'interroger un site publique de données en Opendata (publique et gratuit)
* Ce site retourne un résultat au format json
* Pour lire ce json, on injecte du javascript pour faciliter le décodage
* Les 2 functions importées (pour le "ScriptControl") des sites indiqués sont utilisées ici pour rendre le code compatible office 32bits et 64 bits
* ce code provient d'une de mes appli plus complète, ici très simplifié, donc certains éléments ne sont pas utilisés pour une simple lecture du CP. En fait on peut récupérer aussi les fiches signalétiques complètes des établissements avec multi-adresses le cas échéant, par exemple on pourrait ajouter :
VB:
    .Cells(i, "B").Value = "'" & Rcd.TRcd(0).codepostaletablissement
    .Cells(i, "C").Value = "'" & Rcd.TRcd(0).siretsiegeunitelegale
    .Cells(i, "D").Value = "'" & Rcd.TRcd(0).libellecommuneetablissement
Excellent!
On peut ajouter la région aussi? comme (ils de France - Pays de la Loire...)?
J'ai essayé mais j'arrive pas ou on peut trouver les variables de la table Public..

Merci par avance 🙂
 
Bonjour,

En effet, l'adresse de l'opendata a changé.
Voici un fichier démo mis à jour avec la nouvelle adresse.
Joint dans le zip la liste des champs qu'il est possible d'afficher dans la réponse.
Ici pour l'exemple (siren pris au hasard) le code retourne le CP, la ville et le Siret.
Précision il s'agit toujours de la base Siren V3, avec la structure version v2.1 de l'opendata.

P.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
2 K
Retour