Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Calendrier des marées info

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Bonjour à tous,

A ceux qui ont le pied marin,

je voulais savoir s'il était possible de créer un calendrier des marées avec :
-les heures de marée Haute
-les heures de marée Basse

et éventuellement les coefs.

Je ne sais pas du tout si c'est possible, mais si certains ont déjà étudiés sur la chose je suis preneur.

Je sais qu'il y a plein de site en ligne qui donne ce que je veux, mais se serait pour compléter un calendrier
avec les phases lunaires, éphémérides ..........

Si ça peut aider je suis de la région Lorientaise (Bretagne)

En vous remerciant d'avance.

Nicolas
 

jurassic pork

XLDnaute Occasionnel
Hello Nicolas,
pourquoi es-tu passé à Nominatim par rapport à api-adresse.data.gouv.fr ?
api-adresse.data.gouv.fr utilise la base de données française BAN
Si c'est à cause du décodage de la réponse , comme tu as le module VBA jsonConverter dans ton classeur, tu peux t'en servir pour décoder du json :

VB:
Sub PositionAvecApiAdresseGouv(adresse)
    Dim http As Object, res As Object, lat, lon, houseNum
    Const BaseURL = "https://api-adresse.data.gouv.fr/search/?q="
    Set http = CreateObject("MSXML2.XMLHTTP")
    URL = BaseURL & adresse
    On Error Resume Next
    With http
        .Open "GET", URL, False
        .Send
        Set res = JsonConverter.ParseJson(.responseText)
    End With
    Set http = Nothing
    lon = res("features")(1)("geometry")("coordinates")(1)
    lat = res("features")(1)("geometry")("coordinates")(2)
    houseNum = res("features")(1)("properties")("housenumber")
    Set res = Nothing
    Debug.Print "========  Position avec  ApiAdresseGouv ========="
    Debug.Print "Latitude : " & lat & " - Longitude : " & lon & " - HouseNumber : " & CStr(houseNum)
End Sub

j'ai rajouté dans le décodage housenumber car cela permet de savoir si la position du numéro dans la rue est connue.
J'ai testé avec les numéros de ta rue de 20 à 30 :
Code:
Sub RecupPositionsJP()
Dim adresse As String, i As Integer
For i = 20 To 30
   adresse = CStr(i) & " avenue de la commune de Paris Hennebont"
   PositionAvecApiAdresseGouv adresse
Next i
End Sub
Comme on peut le constater les numéros 20,25,27,29,30 ne sont pas connus et c'est alors toujours la même position qui est renvoyée (Latitude : 47,800003 - Longitude : -3,26778) qui est une position dans la rue qui correspond au numéro 36. Par contre tous les numéros de ma rue, eux sont connus.
Ami calmant, J.P
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
pourquoi es-tu passé à Nominatim par rapport à api-adresse.data.gouv.fr ?

Bonjour JP,
Non du tout, je cherchais la méthode la plus simple et plus proche par rapport à ce que tu avais proposé précédemment

Mais cette dernière version est mieux, je peux rentrer mon adresse correctement et c'est reconnue, à 100-120 mètres de chez moi mais c'est reconnue.

VB:
Sub PositionAvecApiAdresseGouv(adresse)
    Dim http As Object, res As Object, lat, lon, houseNum
    Const BaseURL = "https://api-adresse.data.gouv.fr/search/?q="
    Set http = CreateObject("MSXML2.XMLHTTP")
    URL = BaseURL & adresse
    On Error Resume Next
    With http
        .Open "GET", URL, False
        .Send
        Set res = JsonConverter.ParseJson(.responseText)
    End With
    Set http = Nothing
    lon = res("features")(1)("geometry")("coordinates")(1)
    lat = res("features")(1)("geometry")("coordinates")(2)
    houseNum = res("features")(1)("properties")("housenumber")
        With Worksheets("MaPosition")
        .cells(2, 4) = Info_adresse.TextBox1 & " " & Info_adresse.Cp & " " & Info_adresse.Cpville
        .cells(2, 2) = Info_adresse.Cpville
        .cells(2, 7) = lon
        .cells(2, 8) = lat
    End With
    Set res = Nothing
End Sub

Sub RecupPositionsJP()
Dim adresse As String
   adresse = Info_adresse.TextBox1 & " " & Info_adresse.Cp & " " & Info_adresse.Cpville
   PositionAvecApiAdresseGouv adresse
End Sub

Merci à toi,
Nico
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Plus que ma petite question sur le post


Je pense que je dois chercher trop compliqué, dans Feuil1(Calendrier)

VB:
        If Hour(Now) >= .Matin_Basse And Hour(Now) <= .Matin_Haute Then .Etatmare = "Etat de la marée ( Montante )"
        If Hour(Now) >= .Après_Basse And Hour(Now) <= .Après_Haute Then .Etatmare = "Etat de la marée ( Montante )"
        If Hour(Now) >= .Matin_Haute And Hour(Now) <= .Après_Basse Then .Etatmare = "Etat de la marée ( Descendante )"
        If Hour(Now) >= .Après_Haute Then .Etatmare = "Etat de la marée ( Descendante )"

Et puit j'arrête
Merci encore à tous d'avoir participé
Nicolas
 

dysorthographie

XLDnaute Accro
Bonjour,
Tu te complique pas la vie,tu te fourvois.
Hour(Now) c'est l'heure de maintenant que tu compares a une date qui peut avoir plusieurs jours d'écart avec la date du jour entre temps il peut y avoir plusieurs marées montentes ou descendentes.

Vu qu'il n'est question qu de d'ajourdui et des 10 prochain jours difficiles d'évaluer le sens des marées vue que l'info n'existe pas sur le site mais je peux tenter un calcule à l'import.

Deplus l'information sur les marées demande des villes choisi par l'utilisation et pour afficher l'information sur la feuille calendrier ça ce complique. Dans le formulaire si le calcul s'importe pourquoi pas

Si tu identifie l'heure de marré base elle est forcément montante vue qu'il n'y a pas d'information sur l'heure de mère etal base ou haut. Cette information est elle pertinente ?

If Matin_Basse_mer<Matin_Pleine_mer montentes else descendante
 
Dernière édition:

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD

Je laisse tomber l'idée alors
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Re, si c'est ça que tu as repris

VB:
        If Hour(Now) >= .Matin_Basse And Hour(Now) <= .Matin_Haute Then .Etatmare = "Etat de la marée ( Montante )"
        If Hour(Now) >= .Après_Basse And Hour(Now) <= .Après_Haute Then .Etatmare = "Etat de la marée ( Montante )"
        If Hour(Now) >= .Matin_Haute And Hour(Now) <= .Après_Basse Then .Etatmare = "Etat de la marée ( Descendante )"
        If Hour(Now) >= .Après_Haute And Hour(Now) <= .Matin_Basse Then .Etatmare = "Etat de la marée ( Descendante )"

C'est pas mieux apparemment.
ça matchait sur la dernière marée montante mais maintenant ça match plus, comme j'avais je crois sur la dernière marée du jour ça colle plus
Merci
 
Dernière édition:

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD

Oui mais ça c'est bon



C'est juste l'état que je souhaitai, quand tu clic sur ton jour savoir si elle monte ou descends au moment ou tu regarde (clic)
 

dysorthographie

XLDnaute Accro
en fait c'es juste le jour J je peux effectivement afficher l'information notes que si Basse mer> Pleine mer
on peut déterminer qu'elle descend donc on pourra déterminer uniquement pour le jour J l'information.

on est d'accord?

Maintenant on peut travailler sur la date sélectionné dans la feuille planning sans donner la possibilité de choisir une date dans le formulaire.

C'est la date du jour on affiche si maintenant la mère monte ou descend sans offre la possibilité de changer de date ?
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…