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

Macros et VBA Excel Discussion :

Macro et URL variable contenue dans une cellule [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 179
    Par défaut Macro et URL variable contenue dans une cellule
    Bonjour le forum,

    je viens solliciter votre aide pour modifier, si cela est possible, un code qui me permet de télécharger des données dans des pages Internet.

    Le code que j'utilise est le suivant :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Sub Import_Cours_Historique()
     
        With Sheets("Cours Hist 1")                 'URL = Valeur de la cellule "L3"
            With .QueryTables.Add( _
                 Connection:="URL;http://bourse.lesechos.fr/bourse/details/donnees_histo.jsp?fw3_component=dataList&fw3_autonomous=/bourse/details/donnees_histo-view.jsp&dataList_pageNum=1&&place=XPAR&code=FR0000120404&OFFSET_START_RANGE=-36&CODE_RESOLUTION=WEEK&codif=ISIN", _
                 Destination:=.Cells(2, 2))
                .BackgroundQuery = True
                .WebSelectionType = xlSpecifiedTables
                .WebTables = "11"
                .TablesOnlyFromHTML = True
                .WebDisableDateRecognition = True
                .Refresh BackgroundQuery:=False
                .SaveData = True
            End With
        End With
     
        With Sheets("Cours Hist 2")                 'URL = Valeur de la cellule "N3"
            With .QueryTables.Add( _
                 Connection:="URL;http://bourse.lesechos.fr/bourse/details/donnees_histo.jsp?fw3_component=dataList&fw3_autonomous=/bourse/details/donnees_histo-view.jsp&dataList_pageNum=2&&place=XPAR&code=FR0000120404&OFFSET_START_RANGE=-36&CODE_RESOLUTION=WEEK&codif=ISIN", _
                 Destination:=.Cells(2, 2))
                .BackgroundQuery = True
                .WebSelectionType = xlSpecifiedTables
                .WebTables = "11"
                .TablesOnlyFromHTML = True
                .WebDisableDateRecognition = True
                .Refresh BackgroundQuery:=False
                .SaveData = True
            End With
        End With
    End Sub
    Il me permet de télécharger les données de la valeur
    FR0000120404
    .

    Si je veux télécharger les mêmes données pour la valeur
    FR0010340141
    il me faut changer les "URL" dans la macro.

    Pour l'éviter, j'ai essayé de modifier sans succès le code de la macro en "écrivant" que les nouvelles "URL" se trouvent dans 2 cellules : "L3" et "N3".
    Soit pour la 1 ère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            With .QueryTables.Add( _
                 Connection:="L3", _
                 Destination:=.Cells(2, 2))
    Ainsi que vous vous en doutez, cela ne "marche pas".

    Est-ce possible ? Si oui, comment ?

    Afin de vous permettre de vous pencher sur mon problème, je vous joins mon fichier d'essai.

    Je vous remercie par avance pour vos réponses.
    Cordialement.

    Nonno 94.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Si toute l'adresse URL est en L3, tu pourrais essayer ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           With .QueryTables.Add( _
                 Connection:="URL;" & Range("L3"), _
                 Destination:=.Cells(2, 2))

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 179
    Par défaut
    Bonjour Parmi et chaleureux remerciements pour votre réponse qui répond parfaitement à ma demande.

    C'est avec grand plaisir que j'ai ajouté "résolu" pour cette discussion.
    Encore bravo pour votre expertise.

    Cordialement.
    Nonno 94.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Macro pour copier le contenu d'une cellule d'un fichier excel et coller dans une form
    Par wizishop dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 16/10/2015, 12h05
  2. MACRO de copie d'une feuille dont le nom est contenu dans une cellule
    Par youssy dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 01/03/2015, 19h39
  3. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  4. [XL-2003] Problème pour renommer un fichier à partir d'une variable contenu dans une cellule
    Par the-geut dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/05/2010, 11h43
  5. [XL-2003] Variable = formule contenu dans une cellule
    Par Pa2pseudo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/05/2009, 21h29

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