Excel - vba - Excel web query

Résolu
Bonjour à tous,

Je souhaite savoir s'il est possible de figer (donc choisir) le nom du fichier excel s'ouvrant (et se créant au passage) lors de l'exécution d'une Excel web query.

Et surtout s'il est possible d'effectuer ça à partir d'une macro.

P.S.: J'utilise la fonction shell pour exécuter le fichier à extension .iqy

Merci :)

4 réponses

  1. Contributeur
    Bonjour,

    Fais-le en enregistrement de macro, tu auras ce qu'il te faut dans le code généré.
    eric
    1
    1. Contributeur
      Salut le Forum

      En exemple une façon de procéder :
      Sub Requete() 
      'Création fichier 
      Open "d:\requ.iqy" For Output As #1 
      
      'Inscrire le texte de la requête 
      Print #1, "WEB" & Chr(10) & "1" & Chr(10) & "https://www.boursorama.com/" 
      
      'Fermeture du fichier 
      Close #1 
      
      'Insérer la requête dans la feuille active 
      With ActiveSheet 
      .QueryTables.Add("FINDER;d:\requ.iqy", .Range("A1")).Refresh 
      End With 
      
      'Supprimer le fichier 
      Kill "d:\requ.iqy" 
      End Sub


      Merci de donner suite à votre question, nous ne sommes pas des robots...
      « Si le déboguage est l'art d'enlever les bogues, alors la programmation doit être l'art de les créer. »
      1
      1. Bonjours à tous,

        Merci de vos réponses. Je vais essayer vos solutions respectives.
        0
        1. Bonjours à tous,

          Je ne peux pas modifier mon post, je repost.

          eriiic:

          J'ai effectué toutes les manipulations que je souhaite automatiser lors de l'execution de la macro, hélas, je ne retrouve que les opérations effectuées sur le classeur (base de l'enregistrement). Il n'empêche que j'ai trop tendance à oublier cet enregistreur. Merci du rappel.

          Mytå:

          J'ai trouvé solution à mon problème et même bien plus grace à la commande suivante:

          .QueryTables.Add("FINDER;d:\requ.iqy", .Range("A1")).Refresh

          Je ne maîtrise pas le nom du fichier ouvert lors de l'execution de la macro, mais j'importe directement les données voulues dans le fichier maitre, dans la feuille et même la cellule souhaitée.

          C'est excellent.

          Merci à vous deux pour votre aide.
          0