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

Anr1

XLDnaute Occasionnel
Supporter XLD
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

Hasco

XLDnaute Barbatruc
Repose en paix
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
 

p56

XLDnaute Occasionnel
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
 

Pièces jointes

  • Demo_cpsiren.gif
    Demo_cpsiren.gif
    52.7 KB · Affichages: 30
  • CP depuis SIREN.xlsm
    23.6 KB · Affichages: 29

Anr1

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,
Voici une démo pour récupérer un CP d'après un SIREN (liste des SIREN à placer en colonne A) :
Regarde la pièce jointe 1130346
Bonjour @p56,

C'est exactement ce que je cherche, je t'en remercie infiniment!

J'ai lu le code mais j'arrive pas a comprendre tout les étapes, y a un moyen pour avoir les commentaires dans le code svp?

Merci bcp :)
 

p56

XLDnaute Occasionnel
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
 

Anr1

XLDnaute Occasionnel
Supporter XLD
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 :)
 

p56

XLDnaute Occasionnel
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

  • CP depuis SIREN_14fev2024.zip
    23.1 KB · Affichages: 8

Discussions similaires

M
Réponses
20
Affichages
2 K
manucmoi
M

Statistiques des forums

Discussions
311 720
Messages
2 081 912
Membres
101 837
dernier inscrit
Ugo