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: 22

jurassic pork

XLDnaute Occasionnel
Hello,
voici ce que je te propose :
Le bouton Prévision Météo est désactivé tant qu'il n'y a pas un code de 5 chiffres dans le textbox TB_Ville
On fait le test dans l'événement Change du TextBox :
VB:
Private Sub TB_Ville_Change()
  If Len(TB_Ville) = 5 And IsNumeric(TB_Ville) Then
     Me.CommandButton1.Enabled = True
  Else
     Me.CommandButton1.Enabled = False
  End If
End Sub
Il faudrait changer le nom de tes boutons parce que CommandButton1 et CommandButton2 c'est pas terrible.
Il faut que le bouton de prévision météo soit désactivé dans la conception.
Il faudrait peut-être aussi que dans tu sauvegardes le code INSEE de la commune choisie dans le formulaire de position et que tu charges ce code au démarrage dans TB_Ville.
Si on rentre un code postal , le bouton prévision est activé.

Ami calmant, J.P
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Hello,
voici ce que je te propose :
Le bouton Prévision Météo est désactivé tant qu'il n'y a pas un code de 5 chiffres dans le textbox TB_Ville
On fait le test dans l'événement Change du TextBox :
VB:
Private Sub TB_Ville_Change()
  If Len(TB_Ville) = 5 And IsNumeric(TB_Ville) Then
     Me.CommandButton1.Enabled = True
  Else
     Me.CommandButton1.Enabled = False
  End If
End Sub
Il faudrait changer le nom de tes boutons parce que CommandButton1 et CommandButton2 c'est pas terrible.
Il faut que le bouton de prévision météo soit désactivé dans la conception.
Il faudrait peut-être aussi que dans tu sauvegardes le code INSEE de la commune choisie dans le formulaire de position et que tu charges ce code au démarrage dans TB_Ville.
Si on rentre un code postal , le bouton prévision est activé.

Ami calmant, J.P

Bonjour,
je vais regarder ça, merci à toi
Nico
 

jm.andryszak

XLDnaute Occasionnel
Bonjour à tous
La fonction InfosMeteo de Jurassic pork est géniale, je me la suis appropriée même si je ne la comprends qu'à moitié, pas trouvé de doc jusqu'à présent.
Question : Est-il possible de dimensionner les infos dans le WebBrowser (height,width) pour améliorer la lisibilité, je ne vois pas où ça se trouve dans le code source de la page.
Merci
 

jurassic pork

XLDnaute Occasionnel
Question : Est-il possible de dimensionner les infos dans le WebBrowser (height,width) pour améliorer la lisibilité, je ne vois pas où ça se trouve dans le code source de la page.
Hello,
tu peux zoomer le contenu de l'activeX Browser . Exemple pour un zoom de 200 :
VB:
Private Sub CommandButton1_Click()
    Const OLECMDID_OPTICAL_ZOOM = 63
    Const OLECMDEXECOPT_DONTPROMPTUSER = 2
    Me.WebBrowser1.Navigate "about:blank"
    Do Until WebBrowser1.ReadyState = READYSTATE_COMPLETE
        Sleep 50 ' tempo 50 ms
        DoEvents
    Loop
    Me.WebBrowser1.Document.Body.InnerHtml = InfosMeteo(Me.TB_Ville)
    Me.WebBrowser1.ExecWB OLECMDID_OPTICAL_ZOOM, _
        OLECMDEXECOPT_DONTPROMPTUSER, CLng(200), vbNull
End Sub
ZoomWebBrower.png


Ami calmant, JP
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Hello,
voici ce que je te propose :
Le bouton Prévision Météo est désactivé tant qu'il n'y a pas un code de 5 chiffres dans le textbox TB_Ville
On fait le test dans l'événement Change du TextBox :
VB:
Private Sub TB_Ville_Change()
  If Len(TB_Ville) = 5 And IsNumeric(TB_Ville) Then
     Me.CommandButton1.Enabled = True
  Else
     Me.CommandButton1.Enabled = False
  End If
End Sub
Il faudrait changer le nom de tes boutons parce que CommandButton1 et CommandButton2 c'est pas terrible.
Il faut que le bouton de prévision météo soit désactivé dans la conception.
Il faudrait peut-être aussi que dans tu sauvegardes le code INSEE de la commune choisie dans le formulaire de position et que tu charges ce code au démarrage dans TB_Ville.
Si on rentre un code postal , le bouton prévision est activé.

Ami calmant, J.P

Re,

Je viens de reprendre le fichier pour que se soit plus compréhensible pour l'utilisateur,
dis moi ce que tu en pense. 🤔
Je n'avais pas pensé à la solution ".Enabled = True / False"

test form7.gif

test form7.gif


Et j'en profite pour te redemander comment tu fais pour récupérer les données du web (ligne par ligne) comme je t'avais demandé il y a quelque jour mais sans réponse, apparemment tu ne regarde pas tes MP.
(Sinon je poserai une discussion sur le sujet)

Merci à toi
Nico
 

Pièces jointes

  • Calendrier Ephéméride Marée V2.6 dernière modif.xlsm
    439.6 KB · Affichages: 3
Dernière édition:

jcf6464

XLDnaute Impliqué
bonjour a vous tous et le forum

Très bon travail bravo,

Juste une info dans la phase des lunes il manque une lune nouvelle en décembre le 01/12 et le 30/12/2024 cette année nous avons 13 lunes nouvelles au lieux de 12,
une autre info
Quand on ouvre le formulaire on n'a pas la main il faut cliquer sur la page et cela produit (voir photo)

je suis sous firefox et windows 10 en 64 bits

bonne continuation jcf
 

Pièces jointes

  • 2024-10-09.jpg
    2024-10-09.jpg
    74.3 KB · Affichages: 3

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
bonjour a vous tous et le forum

Très bon travail bravo,

Juste une info dans la phase des lunes il manque une lune nouvelle en décembre le 01/12 et le 30/12/2024 cette année nous avons 13 lunes nouvelles au lieux de 12,

une autre info
Quand on ouvre le formulaire on n'a pas la main il faut cliquer sur la page et cela produit (voir photo)

je suis sous firefox et windows 10 en 64 bits

bonne continuation jcf

Bonjour,
oui j'avais vu ton message pour la lune mais je sais pas je vais essayé de comprendre pourquoi.
( c'est pas moi qui avais codé ça)

Quand au phénomène que tu as, je ne sais pas du tout, je travaille pas avec firefox,
tu n'as rien touché au code ?
 

jurassic pork

XLDnaute Occasionnel
il y a un tutoriel ici :
tutoriel sur l’interaction entre Excel VBA et Internet Explorer.
Les sujets développés sont :
la déclaration des variables
la navigation dans le code source d'une page
récupérer et saisir des données, agir sur des boutons, des liens, des cases à cocher...
le téléchargement de fichiers
adapter ses méthodes d'interaction en fonction du contenu de la page
un rappel sur l'utilisation des espions et des point d'arrêt

On peut maintenant piloter en VBA les autres navigateurs comme edge, chrome , firefox avec le protocole CDP :
Pilotage de navigateurs Web (Chrome, Edge, Firefox) en VBA en utilisant le protocole CDP
 
Dernière édition:

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
il y a un tutoriel ici :
tutoriel sur l’interaction entre Excel VBA et Internet Explorer.
Les sujets développés sont :
la déclaration des variables
la navigation dans le code source d'une page
récupérer et saisir des données, agir sur des boutons, des liens, des cases à cocher...
le téléchargement de fichiers
adapter ses méthodes d'interaction en fonction du contenu de la page
un rappel sur l'utilisation des espions et des point d'arrêt

On peut maintenant piloter en VBA les autres navigateurs comme edge, chrome , firefox avec le protocole CDP :
Pilotage de navigateurs Web (Chrome, Edge, Firefox) en VBA en utilisant le protocole CDP

Bonjour à tous,

Est ce que tu aurais moyen lignes par lignes ton code quand même, ça me travaille j'aimerai bien comprendre le procédé ainsi que l'interrogation, en te remerciant.

Nicolas
 

Discussions similaires

Statistiques des forums

Discussions
314 708
Messages
2 112 097
Membres
111 416
dernier inscrit
philipperoy83