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
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Bonjour Jacky,

Oui effectivement c'est bien ça, pourtant je l'avais exportée pour voir dans un classer vierge ça pesais pas tant.
L'histoire des colonnes je sais pas, c'est un vieux truc que j'ai sortie pour symplifier

Merci à toi
 

vgendron

XLDnaute Barbatruc
Hello
cette dernière version est pas mal aboutie..
juste une remarque sur le formulaire de départ pour récuperer l'adresse..
ca ne sert à rien de mettre des combobox (pour CP et Ville) vides..
soit tu les charges avec une liste (va etre longue) soit tu mets de simples TextBox
 

jurassic pork

XLDnaute Occasionnel
Hello,
A noter que sur le site ip-api.com on peut récupérer les infos en xml par http://ip-api.com/xml/ . Dans ce cas on peut faire une analyse en xml et plus besoin du module jsonConverter
VB:
Sub MaPositionGpsxml()
    Dim Pos As PositionGps
    Pos = GPSxml
    With Worksheets("MaPosition")
        .Range("B1") = Pos.latitude
        .Range("B2") = Pos.longitude
        .Range("B3") = Pos.ville
        'openUrl "https://www.google.com/maps?q=" & Pos.latitude & "," & Pos.longitude
    End With
End Sub

Private Function GPSxml() As PositionGps
    Dim Position As Object
    ' Obtenir la position de l'utilisateur
    Set Position = GetCurrentPositionIPxml()
    ' Extraire les informations de position
    GPSxml.latitude = Position.SelectSingleNode("/query/lat").Text
    GPSxml.longitude = Position.SelectSingleNode("/query/lon").Text
    GPSxml.ville = Position.SelectSingleNode("/query/city").Text
    Set Position = Nothing
End Function
Sub openUrl(URL As String)
    ' Ouvre l'URL dans le navigateur par défaut
    Shell "cmd.exe /c start " & URL, vbHide
End Sub

Function GetCurrentPositionIPxml() As Object 'retourne la position à partir de l'IP du pc==> position du serveur du FAI
    Dim http As Object, objDom As Object
    Dim jsonResponse As Object
    Dim xmlResponse As String
    Dim URL As String
    
    URL = "http://ip-api.com/xml/"

    ' Créer une instance de l'objet XMLHttpRequest et de l'objet DOM
    Set http = CreateObject("MSXML2.XMLHTTP")
    Set objDom = CreateObject("MSXML2.DOMDocument.6.0")
    ' Effectuer la requête GET
    On Error GoTo ErrorHandler
    http.Open "GET", URL, False
    http.Send
    xmlResponse = http.responseText
    Set http = Nothing
    objDom.LoadXML xmlResponse
    Debug.Print "Latitude : " & objDom.SelectSingleNode("/query/lat").Text
    Debug.Print "Longitude : " & objDom.SelectSingleNode("/query/lon").Text
    Debug.Print "Ville : " & objDom.SelectSingleNode("/query/city").Text
    ' Retourner l'objet DOM
    Set GetCurrentPositionIPxml = objDom
    Exit Function

ErrorHandler:
    ' Gestion des erreurs
    MsgBox "Erreur lors de la récupération des données : " & Err.Description
    Set GetCurrentPositionIPxml = Nothing
    Set http = Nothing
End Function

Ami calmant, J.P
 

jcf6464

XLDnaute Impliqué
Bonjour a vous tous,

Un essai avec la V21 en mettant la bonne adresse cela pointe chez moi , essai avec une autre adresse idem au bon endroit avec le marqueur visible,

Un autre essai avec la V6 RD (Position adresse IP) toujours à 10kms de chez moi

Un autre essai avec (MaPositionGpsxml) dejurassic pork Voir photo toujours a 10kms mais dans la forêt !!!

Avec firefox windows 10 et excel 365

Bonne continuation jcf
 

Pièces jointes

  • 2024-09-05.jpg
    181.8 KB · Affichages: 3
Dernière édition:

dysorthographie

XLDnaute Accro
Bonjour,
La version que j'ai fourni avec IE me donne la photo de la baie vitrée de mon immeuble.
La version ou j'execute Google maps via la commande shell me positionne e 50 mettre de chez moi.

Maintenant je n'utilise pas de navigateur Microsoft, chrome ou firefox.

J'utilise Brave Basé sur Chromium, comme chrome et firefox.
 
Dernière édition:

dysorthographie

XLDnaute Accro
 

jurassic pork

XLDnaute Occasionnel
Hello,
bon j'ai fait un essai avec l'adresse à Nicolas sur 3 geocodeurs : api-adresse-data , nominatim et googleapis.
Voici le code :
VB:
Sub PositionAvecApiAdresseGouv(adresse)
    Dim http As Object
    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
        res = .responseText
    End With
    Set http = Nothing
    résultat = Split(res, Chr(13))
    deb = InStr(1, res, "coordinates"":[")
    Fin = InStr(deb, res, "]")
    coor = Mid(res, deb + 13, Fin - (deb + 13) + 1)
    lon = Split(Split(coor, ",")(0), "[")(1)
    lat = Split(Split(coor, ",")(1), "]")(0)
    Debug.Print "========  Position avec  ApiAdresseGouv ========="
    Debug.Print "Latitude : " & lat & " - Longitude : " & lon
End Sub

Sub PositionAvecNominatim(adresse)
    Dim http As Object, objDom As Object, res
    Const BaseURL = "https://nominatim.openstreetmap.org/search.php?format=xml&q="
    Set http = CreateObject("MSXML2.XMLHTTP")
    Set objDom = CreateObject("MSXML2.DOMDocument.6.0")
    URL = BaseURL & adresse
    On Error Resume Next
    With http
        .Open "GET", URL, False
        .Send
        res = .responseText
    End With
    Set http = Nothing
    'Debug.Print res
    objDom.LoadXML res
    Debug.Print "========  Position avec OpenStreetMap Nominatim ========="
    Debug.Print "Latitude : " & objDom.SelectSingleNode("//place").getAttribute("lat") _
                & " - Longitude : " & objDom.SelectSingleNode("//place").getAttribute("lon")
    Set objDom = Nothing
End Sub

Sub PositionWithGoogleApis(adresse)
    Dim http As Object, objDom As Object, res
    Const BaseURL = "https://maps.googleapis.com/maps/api/geocode/xml?address="
    Const ApiKey = "MettreIciSonApiKey"
    Set http = CreateObject("MSXML2.XMLHTTP")
    Set objDom = CreateObject("MSXML2.DOMDocument.6.0")
    URL = BaseURL & adresse & "&key=" & ApiKey
    On Error Resume Next
    With http
        .Open "GET", URL, False
        .Send
        res = .responseText
        End With
    Set http = Nothing
    'Debug.Print res
    objDom.LoadXML res
    Debug.Print "========  Position avec GoogleApis ========="
    Debug.Print "Latitude : " & objDom.SelectSingleNode("//location/lat").Text & _
    " - Longitude : " & objDom.SelectSingleNode("//location/lng").Text
    Set objDom = Nothing
End Sub

Sub RecupPositions()
Const adresse1 = "23 avenue commune de Paris Hennebont"
Const adresse2 = "25 avenue commune de Paris Hennebont"
Debug.Print "===== " & adresse1 & " ====="
PositionAvecApiAdresseGouv adresse1
PositionAvecNominatim adresse1
PositionWithGoogleApis adresse1
Debug.Print "===== " & adresse2 & " ====="
PositionAvecApiAdresseGouv adresse2
PositionAvecNominatim adresse2
PositionWithGoogleApis adresse2
End Sub
et voici les résultats :

Pour le 23 c'est à peu près bon pour tout le monde , par contre pour le 25 c'est GoogleApis qui est le plus
précis :

GoogleApis est en plus la plus rapide à répondre. Le souci c'est qu'il faut une ApiKey (je n'ai pas mis la mienne ici). On pourrait croire en s'inscrivant que c'est payant mais si on ne fait pas trop de requêtes (< 40000 par mois) avec, cela reste gratuit.
Moi avec ma limitation à 1000 requêtes par jour je n'ai jamais rien payé et si on me vole ma clé cela bloquera l'utilisation. A vérifier aussi que Google ne change pas ses conditions d'utilisation.
Ami calmant, J.P
 

Discussions similaires

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