Siret depuis Nom adresse code postal et ville

Bonjour ,je débute en vba

donc j'ai un fichier avec Nom adresse code postal et ville et j'aimerais avoir Un code Vba pour avoir le SIRET depuis ces informations

J'ai plusieurs ligne a traiter

merci

Bonjour

A partir de quoi est calculé le SIRET?

Je ne pense pas que le nom; l'adresse et le code postal soient suffisants pour calculer le SIRET, d'après ce que j'ai lu sur le Web:

On obtient donc un numéro de SIRET comme suit :

  • Les 9 premiers chiffres qui correspondent au numéro SIREN
  • Les 5 derniers chiffres qui correspondent au NIC

Où alors, donnez la méthode de construction du SIRET à partir des éléments dont vous disposez.

Cdlt

Re,

ce que je voudrais faire c'est prendre le siret a partir de la base de l'INSEE avec les informations que j'ai c'est a dire Nom Code postal Adresse

Bonjour,

Vous pouvez utiliser l'API Web qui interroge la base INSEE. Ci-dessous exemple de code :

Sub récup_siret()
    Dim nom As String, adresse As String, json_résultat As String, Siret As String
    Dim résultat() As String

    nom = "nom1"
    adresse = "adresse1"
    API_recherche_entreprises = "https://recherche-entreprises.api.gouv.fr/search"

    json_résultat = Application.WebService(API_recherche_entreprises & "?q=" & nom & " " & adresse)
    json_résultat = Replace(json_résultat, "{""results"": [", ""): json_résultat = Replace(json_résultat, "{", ""): json_résultat = Replace(json_résultat, "}", ""): json_résultat = Replace(json_résultat, "]", "")
    résultat = Split(json_résultat, ",")
    nb_résultats = Val(Split(Filter(résultat, "total_results")(0), ":")(1))
    If nb_résultats = 0 Then MsgBox "aucun résultat": Exit Sub
    If nb_résultats > 1 Then MsgBox "plus d'un résultat - recherche non sélective ": Exit Sub

    Siret = Split(Filter(résultat, "siret")(0), ":")(1)

End Sub

Bonjour eric, Thev

On peut aussi utiliser une fonction pour ça, mais attention au délai selon le nombre de ligne

Function RécupSIRET(sNom As String, sAdresse As String)
  Dim JsonRésultat As String, Siret As String
  Dim Résultat() As String, Nb_résultats As Long
  Dim API_Recherche_Entreprises As String
  ' Adresse Web de l'API
  API_Recherche_Entreprises = "https://recherche-entreprises.api.gouv.fr/search"
  ' Aller chercher l'information
  JsonRésultat = Application.WebService(API_Recherche_Entreprises & "?q=" & sNom & " " & sAdresse)
  ' Retravailler le résultat
  JsonRésultat = Replace(JsonRésultat, "{""results"": [", "")
  JsonRésultat = Replace(JsonRésultat, "{", "")
  JsonRésultat = Replace(JsonRésultat, "}", "")
  JsonRésultat = Replace(JsonRésultat, "]", "")
  ' Récupérer le résultat dans un tableau
  Résultat = Split(JsonRésultat, ",")
  ' Nombre de résultat trouvés
  Nb_résultats = Val(Split(Filter(Résultat, "total_results")(0), ":")(1))
  ' Petit message
  If Nb_résultats = 0 Then RécupSIRET = "aucun résultat": Exit Function
  If Nb_résultats > 1 Then RécupSIRET = "plus d'un résultat - recherche non sélective ": Exit Function
  ' Récupérer ce qui nous intéresse dans le résultat JSON
  RécupSIRET = Replace(Split(Filter(Résultat, "siret")(0), ":")(1), Chr(34), "")
End Function

Que l'on appelle avec

=Récupsiret(A2;B2 &","&C2&","&D2)

En A2 : la dénomination, B2 : l'adresse, C2 : le code postal; D2 : la ville

A+

re,

merci pour vos réponses mais je débute vraiment en Vba

j'ai mis en Pj un fichier pour mieux expliquer

merci

43siret.xlsx (8.14 Ko)

Re,

Pour aller dans VBAProject -> ALT+F11

Là, vous collez un des codes donnés, sinon voici votre fichier avec la fonction

112ericrmh-siret.xlsm (22.40 Ko)

A+

Merci beaucoup pour vos réponse

ça marche et ça m'aide beaucoup

bonne journée

@Bruno,

Oui, c'est mieux sous la forme d'une fonction avec les commentaires adéquats.

Rechercher des sujets similaires à "siret nom adresse code postal ville"