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 :)
A voir également:

4 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

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

 
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

 
Bonjours à tous,

Merci de vos réponses. Je vais essayer vos solutions respectives.
0

 
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