Bonjour,

Je reviens une seconde fois pour un problème dans la même lignée que la première.

Je cherche à télécharger des fichiers issus de requêtes.
Je m'explique. J'ai un fichier Excel qui contient des coordonnées GPS (X et Y) d'un point d'origine et des coordonnées GPS (x et y) d'un point d'arrivée.
Je reconstitue une adresse URL afin d'en faire un lien URL directement utilisable sur google maps.
Mes liens fonctionnent et me donnent bien mon itinéraire entre chaque point d'origine et de destination.
J'envoie ce lien sur un site qui le transforme en trace (itinéraire) avec l'extension .gpx
l'objectif étant par la suite de visualiser ces itinéraires dans un logiciel SIG.

Donc tout va bien jusqu'à la fin où une boite de dialogue me demande soit d'ouvrir, d'enregistrer ou d'annuler.
Je n'ai pas réussi à trouver la solution malgré les kilos de solutions lues ici et ailleurs.

Je vous mets le code que j'ai bâti (doucement voire lentement mais sûrement )

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Sub PremierIE()
'Déclaration des variables
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim InputGpsVisualizerOrigineZoneTexte As HTMLInputElement
Dim htmlSelectElem As HTMLSelectElement
Dim InputGpsVisualizerBouton As HTMLInputElement
Dim InputConvertFormatBouton As HTMLInputElement
Dim Link As HTMLInputElement
Dim TheCell As Range
Dim Doc As HTMLDocument
 
With Feuil1
   'On boucle sur les cellules de la colonne T
   For Each TheCell In .Range("T1", .Cells(.Rows.Count, "T").End(xlUp))
 
   'Chargement d'une page web GPSVisualizer
IE.navigate "http://www.gpsvisualizer.com/convert_input"
   'Affichage de la fenêtre IE
   IE.Visible = True
   'On attend le chargement complet de la page
   WaitIE IE
   'On pointe le membre Document
   Set IEDoc = IE.document
   'On pointe le format de sortie
   Set InputConvertFormatBouton = IEDoc.all("convert_format:gpx")
   InputConvertFormatBouton.setAttribute "checked", True
 
   'On définit le texte que l'on souhaite placer à l'intérieur de la zone de départ
   Set InputGpsVisualizerOrigineZoneTexte = IEDoc.all("remote_data")
   'InputGpsVisualizerOrigineZoneTexte.Value = "https://www.google.fr/maps/dir/43.6650834,5.43989410000006/43.4593692,5.3712595/@43.5326261,5.3588303,10.5z"
   InputGpsVisualizerOrigineZoneTexte.Value = TheCell.Value
 
   'On pointe notre bouton
    Set InputGpsVisualizerBouton = IEDoc.all("submitted")
 
    'On simule un clic
    InputGpsVisualizerBouton.click
    'On attend la fin de la recherche
    WaitIE IE
 
Set Doc = IE.document
    'Doc.Links(0) = 1er lien contenu dans la page html
    Set Cible = Doc.Links(19)
 
    Cible.click
 
'après je souhaite faire "enregistrer sous", nommer le fichier avec la donnée contenue dans la colonne A de la même ligne, le tout avec l'extension de base .gpx
'Après, je ferme la fenêtre et je recommece avec les infos de la ligne suivante.
 
'A noter que la solution : parentWindow.execScript "download(1)", "javascript" ne fonctionne pas ou je ne sais pas la faire fonctionné
'j'ai également essayé les "hwnd"...
 
 
   'On libère la variable IE
   Set IE = Nothing
   Set IEDoc = Nothing
 
            Next
    End With
 
End Sub
Sub WaitIE(IE As InternetExplorer)
   'On boucle tant que la page n'est pas totalement chargée
   Do Until IE.readyState = READYSTATE_COMPLETE
      DoEvents
   Loop
End Sub
Mon objectif est de faire "enregistrer sous" et de nommer le fichier avec la donnée contenue dans la colonne A de la même ligne de mon tableur, le tout avec l'extension de base .gpx
Après, je fermerai la fenêtre et je recommencerai avec les infos de la ligne suivante.

Je sais qu'il y a sûrement moyen de faire tout en mode cacher, mais ça me "rassure" de voir que mon code agit sur ma page web.... et oui !

Espérant avoir été assez intelligible.

Merci d'avance.