XL 2021 Récupérer info météo

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Bonjour à tous et toutes,

En complément de mon "Calendrier, éphéméride, lunaison et marée V2.2", je pensais rajouter un module météo dans le style

Capture d’écran 2024-10-01 164305.jpg


ou au mieux ça


Capture d’écran 2024-10-01 164408.jpg


J'ai trouvé beaucoup de chose mais j'y arrive pas du tout
J'ai essayé sur ChatGPT mais ça me renvois systématiquement sur "api.openweathermap" qui demande une inscription obligatoirement pour avoir une clé d'enregistrement, mais pour moi ce n'est pas le but.

Je suis loin d'êtres un champion, très loin même, mais je n'arrive pas à trouver une solution satisfaisante à ce que je souhaite.
Je joint un fichier qui ne sert pas trop à grand chose, mais c'est loin d'être le résultat voulu, juste pour dire que j'ai quand même cherché ;) ;)

Si vous avez de meilleurs solutions, merci à vous tous.

Nicolas.
 

Pièces jointes

  • Météo.xlsm
    77.8 KB · Affichages: 11

jurassic pork

XLDnaute Occasionnel
Hello,
avec l'API Infoclimat on peut récupérer les prévisions météos d'une ville sous forme html, xml, json.
Voici par exemple ce que l'on peut récupérer pour le HTML en utilisant un contrôle ActiveX webBrowser dans un formulaire :
météo.jpg


Il y a un message d'avertissement quand on affiche la page et je ne pense pas que l'on puisse utiliser le contrôle activeX webbrowser dans une feuille (à confirmer)
Ami calmant, J.P
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Hello,
avec l'API Infoclimat on peut récupérer les prévisions météos d'une ville sous forme html, xml, json.
Voici par exemple ce que l'on peut récupérer pour le HTML en utilisant un contrôle ActiveX webBrowser dans un formulaire :
Regarde la pièce jointe 1204360

Il y a un message d'avertissement quand on affiche la page et je ne pense pas que l'on puisse utiliser le contrôle activeX webbrowser dans une feuille (à confirmer)
Ami calmant, J.P

Bonjour,
Merci du retour, comment à tu intégré dans ton userform ?
Merci
Nico
 

jurassic pork

XLDnaute Occasionnel
Hello
Comment as tu intégré dans ton userform ?
Il faut aller sur cette page changer la ville si nécessaire dans le bandeau bleu puis cliquer sur API. Dans la fenêtre qui s'ouvre il faut récupérer le code iFrame et le mettre dans la procédure qui va afficher les prévisions dans un activeX Web Browser (attention il faut doubler les guillemets internes :
VB:
Private Sub CommandButton1_Click()
   Const MeteoHennebont = "<iframe seamless width=""888"" height=""336"" frameborder=""0"" src=""https://www.infoclimat.fr/public-api/mixed/iframeSLIDE?_ll=47.80512,-3.27337&_inc=WyJIZW5uZWJvbnQiLCIyMiIsIjMwMTM1MjEiLCJGUiJd&_auth=U0lXQFUrXX8EKQQzD3lWf1E5ATQJf1J1An5XNFgyBHlSOV46DmhcPwNuVShXeAEoVmZQLgs2BDsBYQRgD2VUKFMvVzBVNl0%2BBGgEYw89VmNRfQF%2BCStSawJ%2BVy9YPQRmUi9eOw5lXDsDclU2V2ABN1Z7UDcLPAQjAX0EYg9lVDVTN1c7VTNdPwRtBGAPPVZ9UX0BZwkwUjwCMldlWD0ENlI3XmgOPlw3A2pVMFdnAStWYVA5CzQEOgFkBGYPZVQ%2FUy9XLFVPXUwEdgQmD31WN1EkAXwJY1I0AjU%3D&_c=dfd17f0f948fa6a147d55390a8272cd8""></iframe>"
   'WebBrowser1.Navigate "file:///D:/Temp/meteo.html"
   Me.WebBrowser1.Navigate "about:blank"
   Me.WebBrowser1.Document.Body.InnerHtml = MeteoHennebont
End Sub

Et la personne ne pourra pas récupérer sa ville souhaitée ?
là c'est plus difficile à faire car il va falloir piloter Internet Explorer pour choisir sa ville dans la page dont j'ai mis le lien, cliquer sur API et dans la page qui s'ouvre récupérer le code HTML de la iFrame.
En ce qui concerne les deux problèmes que j'ai soulevé dans mon premier message :
A - On peut enlever le message d'avertissement comme ceci en accédant aux paramètres options internet d'Internet Explorer.
1 Dans la barre de recherche de windows 11 tapez Options Internet
2 Dans le menu de démarrage cliquez alors sur Options Internet
3 Dans la fenêtre qui s'ouvre cliquez sur l'onglet programme et cliquez alors sur le bouton Gérer les modules complémentaires.
4 Tout en bas de la fenêtre qui s'ouvre cliquez sur En savoir plus sur les barres d'outils et les extensions
5 Et voilà Internet Explorer s'ouvre. Cliquez sur la roue crantée en haut à droite et choisir Options Internet.
6 Cliquez sur l'onglet Sécurité et cliquez sur le bouton Personnaliser le niveau
7 Cherchez Afficher un contenu Mixte et choisir Activer

B Pour pouvoir incorporer un contrôle ActiveX Web Browser (Internet Explorer) dans une feuille Excel il faut modifier un paramètre dans la base de registre :
Cela semble être un comportement intentionnel à partir d'Excel 2013.
Ce problème se produit car certains contrôles scriptables sont rendus obsolètes dans Office 2013 pour des raisons de sécurité. C'est par conception, et ceux-ci erreurs sont attendues.
Il y a une solution de contournement qui consiste à modifier le registre pour que ces contrôles fonctionnent à nouveau.
Exemple pour Excel2021 sous Windows 11
32 bits
Code:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Wow6432Node\Microsoft\Office\16.0\Common\COM Compatibility\{8856F961-340A-11D0-A96B-00C04FD705A2}
64 bits
Code:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Office\16.0\Common\COM Compatibility\{8856F961-340A-11D0-A96B-00C04FD705A2}
pour le paramètre Compatibility Flags il faut mettre 0 au lieu de 400
Attention la clé de registre peut être différente suivant l'O.S et la version d'Office.
MétéoHennebont.jpg


Ami calmant, J.P
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
B Pour pouvoir incorporer un contrôle ActiveX Web Browser (Internet Explorer) dans une feuille Excel il faut modifier un paramètre dans la base de registre :

Merci du retour mais moi c'est pour incorporer dans un userform (message 3),

test form7.gif


Pour compléter mon prog en rajoutant un onglet météo dessus, mais j'y arrive pas
Merci encore
Nicolas
 

jurassic pork

XLDnaute Occasionnel
Chez moi ça ne coince pas :
MétéoOnglet.jpg


et avec ce code ? :
VB:
Private Sub CommandButton1_Click()
  Const MeteoHennebont = "<iframe seamless width=""888"" height=""336"" frameborder=""0"" src=""https://www.infoclimat.fr/public-api/mixed/iframeSLIDE?_ll=47.80512,-3.27337&_inc=WyJIZW5uZWJvbnQiLCIyMiIsIjMwMTM1MjEiLCJGUiJd&_auth=U0lXQFUrXX8EKQQzD3lWf1E5ATQJf1J1An5XNFgyBHlSOV46DmhcPwNuVShXeAEoVmZQLgs2BDsBYQRgD2VUKFMvVzBVNl0%2BBGgEYw89VmNRfQF%2BCStSawJ%2BVy9YPQRmUi9eOw5lXDsDclU2V2ABN1Z7UDcLPAQjAX0EYg9lVDVTN1c7VTNdPwRtBGAPPVZ9UX0BZwkwUjwCMldlWD0ENlI3XmgOPlw3A2pVMFdnAStWYVA5CzQEOgFkBGYPZVQ%2FUy9XLFVPXUwEdgQmD31WN1EkAXwJY1I0AjU%3D&_c=dfd17f0f948fa6a147d55390a8272cd8""></iframe>"
   'WebBrowser1.Navigate "file:///D:/Temp/meteo.html"
   WebBrowser1.Navigate2 "about:blank"
    Do Until WebBrowser1.ReadyState = READYSTATE_COMPLETE
        ExecuteExcel4Macro ("CALL(""kernel32"",""Sleep"",50)"): DoEvents  ' tempo 50 ms
    Loop
   Me.WebBrowser1.Document.Body.InnerHtml = MeteoHennebont
End Sub
 

jurassic pork

XLDnaute Occasionnel
Ben désolé alors je ne vois pas d'où cela peut venir car la page about:blank c'est une page blanche et on ne va rien chercher sur Internet. Peut être un problème de droits ou de version d'Internet Explorer?Tu peux essayer de mettre https://google.com à la place de about:blank pour voir
Tu as fait la première manip pour afficher internet explorer et modifier les options (manip A) ?
là tu pourras voir la version d'Internet Explorer et essayer about:blank
 
Dernière édition:

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Ben désolé alors je ne vois pas d'où cela peut venir car la page about:blank c'est une page blanche et on ne va rien chercher sur Internet. Peut être un problème de droits ou de version d'Internet Explorer?Tu peux essayer de mettre https://google.com à la place de about:blank pour voir
Tu as fait la première manip pour afficher internet explorer et modifier les options (manip A) ?
là tu pourras voir la version d'Internet Explorer et essayer about:blank
Oui j'ai tout fais comme tu as dis mais rien n'y fait.
Merci pour tout
Nico
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 079
Messages
2 105 469
Membres
109 375
dernier inscrit
anderson2