IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Récupérer chaine de caractère dans une réponse site Web


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 224
    Points : 544
    Points
    544
    Par défaut Récupérer chaine de caractère dans une réponse site Web
    Bonsoir à toutes et tous,

    Voici mon problème,
    Suite à l'envoi d'une requête vers un site Web (Vies) je récupère la réponse qui est entre différentes balises.
    Jusque là j'y arrive grâce à l'aide de PipoWil.

    La réponse du Site Web
    Nom : 2019-09-27_14-19-13.jpg
Affichages : 259
Taille : 73,0 Ko

    J'affichais les données dan une MsgBox, ça c'est OK, pourtant l'adresse se met sur 2 lignes alors que pour l'affichage dans la MsgBox, c'est la réponse du site qui se trouve entre 2 balises.
    Nom : 2019-10-13_17-51-49.jpg
Affichages : 232
Taille : 34,0 Ko

    J'aimerais mettre les réponses dans un formulaire afin de mettre tous ça en plus clair, le problème est que l'adresse est en continu, le Code pays et le pays sont attenant à la rue.
    Nom : 2019-10-13_17-55-46.jpg
Affichages : 219
Taille : 26,1 Ko

    Je n'arive pas à séparer le CP du nom de la rue, d'autant plus que des fois la réponse de l'adresse est sur 2 lignes et d'autre fois sur 3 lignes.
    Il ne faut pas faire une recherche de chaîne sur le L ou F ou B etc.. car suivant le pays je ne sais pas si le site reste sur une lettre ou deux suivant le pays.

    J'espère avoir été clair dans mon explication.

    Merci pour votre aide.

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Essayez ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Sub ExtractionAdresse()
    'Hypothèse: le code postal est précédé par un tiret, et le code pays est représenté par une lettre.
    'Au cas où le pays est représenté par 2 lettres (GB, BG, DK, ...etc), il faudra adapter le code.
     
        Dim Adresse0 As String
        Dim tiret
        Dim pays As String
        Dim Adresse1, Adresse2 As String
     
        Adresse0 = "26 RUE DE MONDORFL-3337 HALLANGE"
        'Si le code postal est toujours précédé par un tiret (-), alors:
        tiret = InStrRev(Adresse0, "-")
        pays = Mid(Adresse0, tiret - 1, 1)
     
        Adresse1 = Trim(Mid(Adresse0, 1, tiret - 2))
        Adresse2 = Trim(Mid(Adresse0, tiret - 1))
     
        MsgBox Adresse1 & vbLf & vbLf & Adresse2
     
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 224
    Points : 544
    Points
    544
    Par défaut
    Salut,

    Merci pour ton code, MAIS car il y a un mais, le code pays est peut-être quelque fois avec deux lettre, je n'ai pas testé car pas encore de N° de TVA pour les autres pays.
    Pour les Numéros de TVA Français que j'ai pu tester, il n'y a pas de F- devant le CP.

    J'ai déjà essayé plusieurs code afin d'essayer si j'arrivais à un résultat, mais c'est toujours aléatoire.
    Par exemple j'ai essayé de voir si le N° et la rue comptait 25 ou 30 caractère puis le CP puis la Ville
    Mais c'est un échec.
    Je ne vois pas comment le résultat dans la MsgBox est bon quand je lui dit d'afficher le résultat de l'adresse, il met bien sur 2 lignes.

    Merci encore

  4. #4
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    En effet, c'est ce que je'ai écrit:
    'Hypothèse: le code postal est précédé par un tiret, et le code pays est représenté par une lettre.
    'Au cas où le pays est représenté par 2 lettres (GB, BG, DK, ...etc), il faudra adapter le code.
    Peut-être pourriez-vous poster copie de votre DB (du moins la table reprenant les adresses) pour essayer de trouver une solution.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 224
    Points : 544
    Points
    544
    Par défaut
    Bonsoir,

    Le problème, comme déjà décrit, c'est que l'adresse provient d'une réponse à une demande de vérification de N° de TVA sur le site web Vies(recherche google)
    Donc, cette réponse contient l'adresse entre 2 balises, cette adresse peut-être sur 2,3 ou 4 lignes, avec code pays en 0, une ou 2 lettre.
    Par exemple pour le Luxembourg, le code pays est L ou LU.
    Pour la France il y a qq fois le F- ou non, juste le CP puis le non de la ville.
    Il n'y a donc pas un format bien définit dans la réponse, cela simplifierait la chose.

    c'est pour cela que je ne comprend pas comment dans la MsgBox, l'adresse se met bien sur 2 ou 3 lignes, donc tout est bien séparé.
    Si je place l'adresse dans un contrôle ZT, tout est attaché

    Merci pour ton aide

  6. #6
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Pouvez-vous donner qq exemples venant de google pour plusieurs pays ? Peut-être qu'il y a un schéma particulier par pays !

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 224
    Points : 544
    Points
    544
    Par défaut
    Salut,

    Google n'a rien à voir là dedans, c'est le site Vies qui renvois la réponse

    http://ec.europa.eu/taxation_customs...atRequest.html

    Dans les 2 lignes du haut,
    tu sélectionnes le pays
    tu entre le numéro de TVA sans. ,sans Le code Pays, juste les chiffres du Numéro de TVA
    tu clic Vérifier
    le site renvois la réponse avec les infos entre balises, voir image poste précédent

  8. #8
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Il y a malentendu ! ce n'est pas la faute de Google; ce que je voulais, c'était quelques exemples renvoyés par Google pour voir s'il n'y a pas un schéma particulier à exploiter pour en extraire l'info utile de façon structurée !!

Discussions similaires

  1. [Batch] Récupérer une chaine de caractère dans une ligne
    Par chimikol dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 28/12/2017, 20h00
  2. Réponses: 1
    Dernier message: 11/05/2017, 18h18
  3. Récupérer une partie d'une chaine de caractères dans une variable
    Par kardo dans le forum IGN API Géoportail
    Réponses: 4
    Dernier message: 18/06/2013, 20h36
  4. Réponses: 3
    Dernier message: 18/06/2013, 13h02
  5. Récupérer une chaine de caractère dans une page
    Par BrunS dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2005, 14h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo