Transfert de données Excel WEB

Transfert de données Excel WEB - VB/VBA/VBS - Programmation

Marsh Posté le 30-11-2016 à 16:06:32    

Bonjour à tous,
 
il y a quelques temps, j'ai découvert le site http://fr.batchgeo.com/ qui permet de placer sur une carte toute une liste de lieux divers à partir d'un tableau.
 
je souhaite, en VBA, créer une petite fonction me permettant, sans intervention manuelle.
1. ouvrir le site
2. transférer mes données
3. sauvegarder
 
Malgré mes recherches, ma macro ne fonctionne pas et je pense que c'est juste un détail mais il m'échappe...
 
Si une âme généreuse avait la possibilité de jeter un coup d'œil et de m'éclairer... ce serait super.
 
Merci d'avance,
 
le lien : En B1 d'une feuil1 (excel)
https://fr.batchgeo.com/map/edit/?m [...] 3dbf811c82  
 
les données : en colonne B à E, ligne 10 pour commencer de la même feuil1
 
ADRESSE CODE POSTAL VILLE POSITION  
1, RUE VICTOR HUGO 29100 DOUARNENEZ A - 024  
72 RUE DU TREIZ 29100 DOUARNENEZ A - 022  
15, RUE GABRIEL CASTREC 29100 DOUARNENEZ A - 013  
12 IMPASSE CHARCOT 29100 DOUARNENEZ A - 030  
 
le code:

Code :
  1. Sub WaitIE(IE As InternetExplorer)
  2.            'On boucle tant que la page n'est pas totalement chargée
  3.            Do Until IE.readyState = READYSTATE_COMPLETE
  4.               DoEvents
  5.            Loop
  6.         End Sub
  7.    
  8.    Sub majbatchgeo()
  9.            
  10.             'Déclaration des variables
  11.             Dim IEDoc As HTMLDocument
  12.             Dim InputGoogleZoneTexte As HTMLInputElement
  13.             Dim InputGoogleBouton As HTMLInputElement
  14.             Dim InputBoutonsave As HTMLInputElement
  15.             Dim batchgeo As String
  16.             Dim IE As Object
  17.                
  18.                  'lien vers le site souhaité
  19.                batchgeo = Sheets("Feuil1" ).Range("B1" ).Value
  20.                
  21.                'mise en mémoire du texte que l'on souhaite placer à l'intérieur
  22.                
  23.                 Sheets("feuil1" ).Range("B10:E16" ).Copy
  24.                                              
  25.                 'Initialisation des variables
  26.                Set IE = CreateObject("InternetExplorer.Application" )
  27.            
  28.                'Chargement de la page web
  29.                IE.navigate batchgeo
  30.                
  31.                'Affichage de la fenêtre IE
  32.                IE.Visible = True
  33.                                          
  34.                WaitIE IE
  35.                
  36.                'On pointe le membre Document
  37.                Set IEDoc = IE.document
  38.                
  39.                Set InputGoogleZoneTexte = IEDoc.all("sourceData" )
  40.                  
  41.                 WaitIE IE
  42.            
  43.                'On pointe la zone de collage
  44.                InputGoogleZoneTexte.Click
  45.                                        
  46.                                                      
  47.                'collage des données copiées
  48.                SendKeys "^{v}"
  49.                                      
  50.                                      
  51.                 'pointage et clic sur bouton "update"
  52.                Set InputBoutonupdate = IE.document.getElementById("mapnow_button" )
  53.                 InputBoutonupdate.Click
  54.                 WaitIE IE
  55.                              
  56.                 'pointage et clic sur bouton "save"
  57.                 Set InputBoutonsave = IE.document.getElementById("save" )
  58.                 InputBoutonsave.Click
  59.                 WaitIE IE
  60.                              
  61.                
  62. End Sub


Message édité par juju29kam le 09-12-2016 à 18:15:59
Reply

Marsh Posté le 30-11-2016 à 16:06:32   

Reply

Marsh Posté le 30-11-2016 à 23:35:37    

Ca fait des années que j'ai pas fait de VB mais pourquoi le dernier WaitIE IE est-il en commentaires ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 02-12-2016 à 10:06:04    

Pas sûr qu'Excel soit l'outil le plus approprié pour faire ce genre de chose. Peut-être un outil de script genre Python, Perl ou, plus proche du VB, AutoIT ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 02-12-2016 à 19:49:23    


            Bonjour,
 
            pas de souci particulier en VBA …   Tout dépend aussi du codage de la page Web …
            Souvent le plus difficile n'étant pas de comprendre la page mais ce qui doit être réalisé !
 
            Le B-A-BA : Interaction avec Internet Explorer via VBA Excel
 
            Voir les exemples sur les divers forums français comme étrangers.
 

Reply

Marsh Posté le 05-12-2016 à 15:18:23    

erwan83 a écrit :

Ca fait des années que j'ai pas fait de VB mais pourquoi le dernier WaitIE IE est-il en commentaires ?


 
en fait la fin est en commentaire car c'est là que je bloque

Reply

Marsh Posté le 05-12-2016 à 15:19:17    

Marc L a écrit :


            Bonjour,
 
            pas de souci particulier en VBA …   Tout dépend aussi du codage de la page Web …
            Souvent le plus difficile n'étant pas de comprendre la page mais ce qui doit être réalisé !
 
            Le B-A-BA : Interaction avec Internet Explorer via VBA Excel
 
            Voir les exemples sur les divers forums français comme étrangers.
 


 
j'avais bien vu ce post et bien d'autre mais je ne vois toujours pas le souci de mon code :(

Reply

Marsh Posté le 06-12-2016 à 13:07:27    

 
            Déjà on attend toujours une explication claire et exhaustive du problème …
 

Reply

Marsh Posté le 06-12-2016 à 16:30:19    

Je cherche simplement à régler la macro pour :
 
Effectuer l'opération de collage de données dans le champ cible,
appuyer sur le bouton "UPDATE"
Appuyer sur le bouton "SAVE"
 
:(

Reply

Marsh Posté le 07-12-2016 à 15:34:25    

 
            Aucun de ces boutons n'apparait dans le lien plus haut !
 
            Sans une explication digne de ce nom, aucune aide possible …
 

Reply

Marsh Posté le 08-12-2016 à 14:35:28    

Bonjour,
 
j'essaie de simplifier :
 
Je cherche à effectuer un copier/coller d'une plage de données, mettre à jour et sauvegarder mon entrée d'adresses.
 
mes données : de B10 à E15 de la feuil1 d'un classeur
ADRESSE CODE POSTAL VILLE POSITION  
1, RUE VICTOR HUGO 29100 DOUARNENEZ A - 024  
72 RUE DU TREIZ 29100 DOUARNENEZ A - 022  
15, RUE GABRIEL CASTREC 29100 DOUARNENEZ A - 013  
12 IMPASSE CHARCOT 29100 DOUARNENEZ A - 030
 
 
la page :[url] https://fr.batchgeo.com/map/edit/?m [...] fd31dac8cd
[/url]
 
la zone cible est la zone à cliquer dont le code est :
 
</div><!--/inline_save-->
     <div class="fieldset">
      <hr />
      <h2>Edit Map Data</h2>
      <p>Copy the data below into your spreadsheet to make edits,<br /> or if you still have the source spreadsheet around you can edit that and <span class="edit-method">paste it in</span> here when you are done.</p>
      <div id="sourceWrap"><textarea id="sourceData" wrap="off" rows="5" cols="80" onclick="this.select()" title="click, then copy/paste to/from spreadsheet" spellcheck="false" autocomplete="off"></textarea></div>
 
je souhaite ensuite cliquer sur le bouton "Update Map" pour actualiser ma carte :
 
      <p></p>
      <button id="validate_button" value="" class="button white buttonmedium">Validate &amp; Set Options</button>   &nbsp;or&nbsp;
      <button id="mapnow_button" class="button green buttonmedium">Update Map</button>
      <span id="validate_status" class="status"> Done: <span id="num_of_columns"></span> columns, <span id="num_of_rows"></span> rows - scroll down to Validate &amp; Set Options</span>
     </div><!--/fieldset -->
 
et enfin je souhaite sauvegarder en cliquant sur le bouton "save" :
 
    </div>
     </div>
     <p id="save" class="center" style="margin-top: 20px; margin-bottom:0px;">
      <button onClick="window.location = '/map/6317fd5c43a03d3b55d49c39b109cd49'" type="button" class="button white">Cancel</button>
      <button onclick="map_delete()" class="button red">Delete</button>
      <input type="submit" value="Save" class="button green" />
     </p>
    </div>
 
Mon code est le suivant :

Code :
  1. ' Macro d'attente de chargement des pages internet
  2. ' pTimeOut est un time out en secondes (WaitIE vaut True si Timeout)
  3. Public Function WaitIE(oIE As InternetExplorer, Optional pTimeOut As Long = 0) As Boolean
  4. Dim lTimer As Double
  5. lTimer = Timer
  6. Do
  7.     DoEvents
  8.    If oIE.readyState = READYSTATE_COMPLETE And Not oIE.Busy Then Exit Do
  9.    If pTimeOut > 0 And Timer - lTimer > pTimeOut Then
  10.        WaitIE = True
  11.        Exit Do
  12.    End If
  13. Loop
  14. End Function
  15. Sub Mise_a_jour_batchgeo()
  16.            
  17.             Dim IE As Object           
  18.             Dim IEDoc As HTMLDocument
  19.             Dim InputZoneTexte As HTMLTextAreaElement
  20.             Dim BoutonUpdate As HTMLButtonElement
  21.             Dim BoutonSave As HTMLButtonElement
  22.             Dim batchgeo As String
  23.            
  24.                      
  25.                 'Définition de mon lien
  26.                 batchgeo = "https://fr.batchgeo.com/map/edit/?map_id=7873360&d=98f75b7f388f15a6bb2d48fd31dac8cd"
  27.                 'Données transférées
  28.                 Sheets("feuil1" ).Range("B10:E16" ).Copy
  29.                
  30.              
  31.                'Ouverture d'un navigateur
  32.                Set IE = CreateObject("InternetExplorer.Application" )
  33.              
  34.                'Chargement de la page web
  35.                IE.navigate batchgeo
  36.              
  37.                'Affichage de la fenêtre IE
  38.                IE.Visible = True
  39.              
  40.                'Attente du chargement complet
  41.                WaitIE IE
  42.              
  43.                Set IEDoc = IE.document
  44.                
  45.                'On pointe notre Zone de texte
  46.                Set InputZoneTexte = IE.document.getElementById("sourceData" )
  47.                              
  48.                'On pointe la zone de collage
  49.                InputZoneTexte.Click
  50.                                              
  51.                'collage des données copiées
  52.                SendKeys "^{v}"
  53.                
  54.                'Attente du chargement complet
  55.                WaitIE IE
  56.      
  57.                'On pointe le bouton "Update"
  58.                Set BoutonUpdate = IE.document.getElementById("mapnow_button" )
  59.                'On clique
  60.                BoutonUpdate.Click
  61.                              
  62.                
  63. End Sub


 
Pour le moment, l'ouverture et chargement se fait, la sélection de la zone des données et le collage des données aussi (visible pendant l'exécution), mais l'update ne fonctionne pas et je n'ai pas encore pointé comment appuyer sur le bouton "Save".
 
Est-ce plus claires comme explications ?


Message édité par juju29kam le 08-12-2016 à 15:56:20
Reply

Marsh Posté le 08-12-2016 à 14:35:28   

Reply

Marsh Posté le 08-12-2016 à 19:21:59    

 
            Maintenant avec le bon lien …
 
            Sinon ton code de mon côté ne fonctionne pas : pas de click, pas de Ctrl V;
            seul le Update est passé !  Maintenant il n'y a plus rien dans le Map Data
 
            Je ne suis pas étonné car c'est un classique en pilotant un navigateur
            car d'une configuration à une autre (versions navigateur et Windows) il peut y avoir un comportement différent …
            J'avais un code fonctionnant sous Seven & IE9, sur un autre ordinateur sous Seven & IE10 il ne fonctionnait pas du tout
            mais se déroulait très bien sous Windows 8 & IE10 !
 
            Si tu lis bien le tutoriel en lien dans un de mes précédents messages, ton WaitIE ne sert qu'à l'ouverture initiale de la page !
            Donc lors d'une mise à jour de la page, il ne fonctionne pas,
            la raison pour laquelle ton code passe aussi à travers le bouton Save car tu n'es pas synchronisé avec la page !
 
            Donc l'attente ne se fait pas au niveau d'IE mais au niveau du Document d'IE, voir l'exemple du tutoriel.
            Sinon calculer le temps nécessaire après chaque click agrémenté d'une marge et
            utiliser un Wait (VBA) ou un Sleep (API Windows) avant de poursuivre …
 

Reply

Marsh Posté le 09-12-2016 à 09:40:32    

Bonjour, code modifié sur l'action des  boutons, ça marche !

Code :
  1. ' Macro d'attente de chargement des pages internet
  2. ' pTimeOut est un time out en secondes (WaitIE vaut True si Timeout)
  3. Public Function WaitIE(oIE As InternetExplorer, Optional pTimeOut As Long = 0) As Boolean
  4. Dim lTimer As Double
  5. lTimer = Timer
  6. Do
  7.     DoEvents
  8.    If oIE.readyState = READYSTATE_COMPLETE And Not oIE.Busy Then Exit Do
  9.    If pTimeOut > 0 And Timer - lTimer > pTimeOut Then
  10.        WaitIE = True
  11.        Exit Do
  12.    End If
  13. Loop
  14. End Function
  15. Sub Mise_a_jour_batchgeo()
  16.            
  17.                 Dim IEDoc As HTMLDocument
  18.                 Dim InputZoneTexte As HTMLTextAreaElement
  19.                 Dim BoutonUpdate As HTMLButtonElement
  20.                 Dim Boutoncancel As HTMLButtonElement
  21.                 Dim BoutonSave As HTMLButtonElement
  22.                 Dim batchgeo As String
  23.                 Dim IE As Object
  24.                 Dim i As Integer
  25.                 Dim j As Integer
  26.                 Dim maPageHtml As HTMLDocument
  27.                 Dim Helem As IHTMLElementCollection
  28.            
  29.                 'Définition de mon lien
  30.                 batchgeo = "https://fr.batchgeo.com/map/edit/?map_id=7873360&d=98f75b7f388f15a6bb2d48fd31dac8cd"
  31.                'Données transférées
  32.                Sheets("feuil1" ).Range("B10:E19" ).Copy
  33.              
  34.              
  35.                'Ouverture d'un navigateur
  36.                Set IE = CreateObject("InternetExplorer.Application" )
  37.              
  38.                'Chargement de la page web
  39.                IE.navigate batchgeo
  40.              
  41.                'Affichage de la fenêtre IE
  42.                IE.Visible = True
  43.              
  44.                'Attente du chargement complet
  45.                WaitIE IE
  46.              
  47.                Set IEDoc = IE.document
  48.                
  49.                'On pointe notre Zone de texte
  50.                Set InputZoneTexte = IEDoc.getElementById("sourceData" )
  51.                              
  52.                'On pointe la zone de collage
  53.                InputZoneTexte.Click
  54.                
  55.              
  56.                'collage des données copiées
  57.                Application.SendKeys "^{v}"
  58.              
  59.              
  60.                'Attente de quelques secondes
  61.                Application.Wait (Now + TimeValue("0:00:05" ))
  62.                
  63.            
  64.                Set maPageHtml = IE.document
  65.                Set Helem = maPageHtml.getElementsByTagName("input" )
  66.                
  67.                'boucle pour lister les objets type "input" de la page et appuie sur le bouton dont le texte est "Update Map"
  68.                For j = 0 To Helem.Length - 1
  69.                If Helem(j).getAttribute("value" ) = "Update Map" Then Helem(j).Click
  70.                Next j
  71.                
  72.                    
  73.                'Attente de quelques secondes
  74.                Application.Wait (Now + TimeValue("0:00:05" ))
  75.                              
  76.                'boucle pour lister les objets type "input" de la page et appuie sur le bouton dont le texte est "Save"
  77.                For i = 0 To Helem.Length - 1
  78.                If Helem(i).getAttribute("value" ) = "Save" Then Helem(i).Click
  79.                Next i
  80.                              
  81.                              
  82. End Sub


 
Il me reste à régler le temps d'action entre collage et Update. En effet, pour moi, je vois l'effet du pointage, je vois le collage, mais les données ne sont pas "gardées", l'actualisation et la sauvegarde sont par contre effective.
 
Me faudrait-il utiliser un "activate" ? ou peut-être jouer avec le presse-papier ?

Reply

Marsh Posté le 09-12-2016 à 11:28:07    

Je pense qu'avec AutoIt, il y aurait peut-être moins de soucis de pilotage du navigateur...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 09-12-2016 à 12:12:04    

rufo a écrit :

Je pense qu'avec AutoIt, il y aurait peut-être moins de soucis de pilotage du navigateur...


 
peut être mais cette fonctionnalité est juste une partie d'un plus gros fichier excel... donc je cherche une réponse excel + VBA :)
 

Reply

Marsh Posté le 09-12-2016 à 14:18:13    

 
            Maintenant mon code (~ 20 lignes) passe bien mais avant de pouvoir le partager, afin de le fignoler je suis bloqué
            par le message "Data load error" à l'ouverture de la page, certainement suite à un précédent Save
            Du reste comment remet-on la page dans l'état initial ?
 
            Sinon une remarque oubliée pour ton avant dernier code mais valable aussi pour le dernier :
            tu mélanges déclaration anticipée des objets (référence pour IE & IE.Document) et déclaration tardive (CreateObject) …
 

Reply

Marsh Posté le 09-12-2016 à 15:13:26    

Marc L a écrit :

 
            Maintenant mon code (~ 20 lignes) passe bien mais avant de pouvoir le partager, afin de le fignoler je suis bloqué
            par le message "Data load error" à l'ouverture de la page, certainement suite à un précédent Save
            Du reste comment remet-on la page dans l'état initial ?
 
            Sinon une remarque oubliée pour ton avant dernier code mais valable aussi pour le dernier :
            tu mélanges déclaration anticipée des objets (référence pour IE & IE.Document) et déclaration tardive (CreateObject) …
 


 
"Data load error" , je n'ai pas eu ce type de message, mais j'ai remis les données en relançant le lient et en collant les données "de test".
 
Pour la deuxième partie de la  réponse, je suis au regret de dire que c'est du chinois, mais je note qu'il faut me documenter sur les déclarations :)

Reply

Marsh Posté le 09-12-2016 à 16:02:06    

juju29kam a écrit :


 
peut être mais cette fonctionnalité est juste une partie d'un plus gros fichier excel... donc je cherche une réponse excel + VBA :)
 


Je comprends. Cela dit, rien ne t'empêche de faire une partie en AutoIt (on peut compiler le script en .exe) et appeler l'exe depuis ton fichier excel. Après, je comprends que tu préfères un truc "tout en un".


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 09-12-2016 à 16:26:18    

 
            Entre temps j'ai contourné le message d'erreur en ajoutant un test (ligne n°11) :
 

Code :
  1. Private Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds& )
  2. Sub Demo()
  3.          Feuil1.[B10].CurrentRegion.Copy
  4.     With CreateObject("InternetExplorer.Application" )
  5.              .Navigate "https://fr.batchgeo.com/map/edit/?map_id=7873360&d=98f75b7f388f15a6bb2d48fd31dac8cd"
  6.              .Visible = True
  7.        While .Busy Or .ReadyState < 4:  DoEvents:  Wend
  8.               Sleep 600
  9.         With .Document
  10.             If IsObject(.all("cboxLoadedContent" )) Then With .all.cboxLoadedContent.all: .Item(.Length - 1).Click: End With
  11.             With .all.sourceWrap.Children(0):  .Focus:  .Click:  End With
  12.             CreateObject("WScript.Shell" ).SendKeys "^v"
  13.             With .all.mapnow_button:  .Focus:  .Click:  End With
  14.         End With
  15.         While Not IsObject(.Document.all("geocoder_status" ))
  16.             If IsObject(.Document.all("cboxLoadedContent" )) Then Beep: Exit Sub
  17.             DoEvents
  18.         Wend
  19.             While Not .Document.all.geocoder_status.innerText Like "Geocoded * records.":  DoEvents:  Wend
  20.             .Document.all("save" ).all(2).Click
  21.     End With
  22.          Application.CutCopyMode = False
  23. End Sub

            Pas de déclaration d'objet donc nul besoin d'activer de référence !
 
            Sans la pause de la ligne n°9 je peux avoir un "loupé".   J'ai ajouté une marge de 100ms, tout dépend de la configuration …
 

Reply

Marsh Posté le 09-12-2016 à 18:07:45    

OMG merci !!!  
 
je teste ça ce soir !

Reply

Marsh Posté le 09-12-2016 à 18:14:18    

ça marche ! Merci beaucoup !  
 
Respect !

Reply

Marsh Posté le 09-12-2016 à 18:21:57    

Marc L a écrit :

Souvent le plus difficile n'étant pas de comprendre la page mais ce qui doit être réalisé !


             En observant bien le comportement de la page avant / après un évènement comme un click sur un bouton par exemple,
             le code est alors simplifié et son exécution fluidifiée …
 

Reply

Marsh Posté le 04-08-2020 à 10:03:51    

Bonjour, J'ai découvert récemment Batchgeo pour la cartographie et je souhaite l'utiliser. je suis tombée sur ces échanges qui datent de 2016 et je vous en remercie toutes et tous car c'était très utile pour moi.
En revanche, je souhaite changer les options (avec une macro) avant de lancer la cartographie et ceci se fasse normalement en cliquant sur le bouton "valider et changer les options".  
J'ai utilisé vos programmes et j'ai mis "Validate_button" au lieu de "Mapnow_button" mais ça ne marche pas :(.
voici mon programme:
 
  Private Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds& )
    Sub Demo_option()
             Feuil2.[B2].CurrentRegion.Copy
        With CreateObject("InternetExplorer.Application" )
                 .navigate "https://fr.batchgeo.com/map/edit/?map_id=7873360&d=98f75b7f388f15a6bb2d48fd31dac8cd"
                 .Visible = True
           While .Busy Or .readyState < 4:  DoEvents:  Wend
                  Sleep 600
            With .document
              If IsObject(.all("cboxLoadedContent" )) Then With .all.cboxLoadedContent.all: .Item(.Length - 1).Click: End With
                With .all.sourceWrap.Children(0): .Focus: .Click: End With
                CreateObject("WScript.Shell" ).SendKeys "^v"
             ' With .getElementsById("validate_button" ): .Focus: .Click: End With
             'With .all.validate_button: .Focus: .Click:   End With
              'With .all("validate_button" ): .Focus: .Click:   End With
           End Sub
 
J'avoue que je suis débutante en VBA. Ce que j'ai en commentaire, c'est les trois commandes que j'ai testé
Quelqu'un avait déjà testé de changer les options? auriez vous une idée SVP?
 
Je vous remercie d'avance.

Reply

Marsh Posté le 04-08-2020 à 11:18:01    

Question bête : pourquoi s'embêter à passer par un site alors qu'il est si simple de générer un KML pour Google Earth. Ca serait pas plus simple ?
 
Par ailleurs, si ton besoin est de mettre une carte sur un site, faire une google map est aujourd'hui très facile ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-08-2020 à 11:51:14    

rufo a écrit :

Question bête : pourquoi s'embêter à passer par un site alors qu'il est si simple de générer un KML pour Google Earth. Ca serait pas plus simple ?
 
Par ailleurs, si ton besoin est de mettre une carte sur un site, faire une google map est aujourd'hui très facile ;)


 
Merci pour ton retour. En fait mon besoin c'est d'afficher des données sur une carte.
J'ai remarqué que batchgeo offre la possibilité des mettre des pointeurs sur une carte (selon les adresses qu'on lui donne), et en cliquant sur ces pointeurs y a nos données qui s'affichent ==> C'est mon besoin
ce qui m'interesse, ce n'est pas de trouver des adresses mais d'afficher les informations qui correspondent à chaque adresse (question de mise en forme graphique). J’espère que c' est clair  

Reply

Marsh Posté le 04-08-2020 à 12:05:57    

Oui, c'était bien clair. Et je disais que faire une page web contenant une Google map avec tes données, c'est simple.
 
Si tu n'as pas besoin que la carte soit sur un site web mais que Google Earth suffit à voir tes données, alors faire un script qui te génère un fichier kml visualisable dans Google Earth sera encore plus simple.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-08-2020 à 12:22:20    

rufo a écrit :

Oui, c'était bien clair. Et je disais que faire une page web contenant une Google map avec tes données, c'est simple.
 
Si tu n'as pas besoin que la carte soit sur un site web mais que Google Earth suffit à voir tes données, alors faire un script qui te génère un fichier kml visualisable dans Google Earth sera encore plus simple.


 
Bah super merci pour ces renseignements... t'aurais par hasard un exemple de ceci pour que je m'en inspire :). sinon je vais me débrouiller  
En fait je ne suis pas du tout informaticienne ni développeuse.  
Thanks again

Reply

Marsh Posté le 04-08-2020 à 13:31:00    

Je n'ai que des exemples avec des données non publiques.
 
Mais la doc de Google est pas mal faite pour le Kml et tu trouveras beaucoup de tutos pours faire une google map (il te faudra créer une compte pour avoir une clé d'API par contre mais normalement, c'est gratuit).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-08-2020 à 13:35:34    

Tiens, un ex de structure de KML pour Google Earth :

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <kml xmlns="http://earth.google.com/kml/2.1">
  3. <Document>
  4. <open>1</open>
  5. <Folder><name>Répertoire test</name><open>1</open>
  6. <Placemark>
  7.        <name>Site n°1</name>
  8.        <visibility>1</visibility>
  9.        <Style><Icon><href>../icons/Image1.png</href></Icon></Style>
  10.        <Point><coordinates>-0.7577,45.85027</coordinates></Point>
  11.        <description><![CDATA[Site n°1 : <b>Mon site sympa</b><br />Adresse : c'est ici...]]></description>
  12. </Placemark>
  13. <Placemark>
  14.        <name>Site n°2</name>
  15.        <visibility>1</visibility>
  16.        <Style><Icon><href>../icons/marker2.png</href></Icon></Style>
  17.        <Point><coordinates>-0.7963,46.8030</coordinates></Point>
  18.        <description><![CDATA[Site n°2 : <b>Pas mal aussi</b><br />Info 1 : c'est cool<br />Info 2 : ah oui, vraiment?]]></description>
  19. </Placemark>
  20. </Folder>
  21. </Document>
  22. </kml>


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-08-2020 à 15:22:40    

rufo a écrit :

Tiens, un ex de structure de KML pour Google Earth :

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <kml xmlns="http://earth.google.com/kml/2.1">
  3. <Document>
  4. <open>1</open>
  5. <Folder><name>Répertoire test</name><open>1</open>
  6. <Placemark>
  7.        <name>Site n°1</name>
  8.        <visibility>1</visibility>
  9.        <Style><Icon><href>../icons/Image1.png</href></Icon></Style>
  10.        <Point><coordinates>-0.7577,45.85027</coordinates></Point>
  11.        <description><![CDATA[Site n°1 : <b>Mon site sympa</b><br />Adresse : c'est ici...]]></description>
  12. </Placemark>
  13. <Placemark>
  14.        <name>Site n°2</name>
  15.        <visibility>1</visibility>
  16.        <Style><Icon><href>../icons/marker2.png</href></Icon></Style>
  17.        <Point><coordinates>-0.7963,46.8030</coordinates></Point>
  18.        <description><![CDATA[Site n°2 : <b>Pas mal aussi</b><br />Info 1 : c'est cool<br />Info 2 : ah oui, vraiment?]]></description>
  19. </Placemark>
  20. </Folder>
  21. </Document>
  22. </kml>



 
Merci  

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed