IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA - Macro Logiciel Opencpn - Fichier TXT > XML > GPX [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 10
    Par défaut VBA - Macro Logiciel Opencpn - Fichier TXT > XML > GPX
    Bonjour,
    Je suis entrain de faire une macro sous Excel 2007 pour créer un fichier texte qui doit en suite être converti en XML. Jusqu’à maintenant, j’ai bien réussi à créer un fichier Txt. Je pensais naïvement qu’il suffisait de changer l’extension pour pouvoir fonctionner. La solution de facilité ne marche pas toujours.
    En fait, le PB est un peu plus délicat. Je travaille sur des cartes marines avec Opencpn qui est un logiciel de navigation gratuit. Avec ce logiciel, je peux créer des routes et les points de changement de route sont sauvegardés dans un fichier GPX. Ce fichier est très simple de sa par sa conception est peut être très facilement lu avec Bloc Note ou mieux avec NotePad++. Mais en farfouillant sur le Web, j’ai compris que ce fichier était en fait du type XML.
    Voici à quoi ressemble un fichier GPX limité à trois changements de route.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?xml version="1.0" encoding="utf-8" ?>
    <gpx version="1.1" creator="OpenCPN" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" xmlns:opencpn="http://www.opencpn.org">
     
        <rte>
            <name>Route Test 2</name>
            <extensions>
                <opencpn:start>TOULON</opencpn:start>
                <opencpn:end>LES SAB</opencpn:end>
                <opencpn:viz>1</opencpn:viz>
            </extensions>
     
            <rtept lat="43.086570672" lon="5.959989507">
                <time>2014-09-28T13:03:24Z</time>
                <name>001</name>
                <sym>diamond</sym>
                <type>WPT</type>
                <extensions>
                    <opencpn:viz>1</opencpn:viz>
                    <opencpn:viz_name>0</opencpn:viz_name>
                    <opencpn:auto_name>1</opencpn:auto_name>
                </extensions>
            </rtept>
     
            <rtept lat="43.065893029" lon="5.986304225">
                <time>2014-09-28T13:03:27Z</time>
                <name>002</name>
                <sym>diamond</sym>
                <type>WPT</type>
                <extensions>
                    <opencpn:viz>1</opencpn:viz>
                    <opencpn:viz_name>0</opencpn:viz_name>
                    <opencpn:auto_name>1</opencpn:auto_name>
                </extensions>
            </rtept>
     
        </rte>
     
    </gpx>

    La macro me permet de pouvoir créer ce fichier avec un nombre important de changement de route, jusqu’à 500. Si non, je suis obligé de rentrer point par point dans Opencepn. La galère.

    Existe t il des fonctions spécifiques vba qui me permettent de créer ce type de fichier et comment ?

    En vous remerciant par avance d’une aide précieuse.

  2. #2
    Membre expérimenté
    Inscrit en
    Décembre 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 115
    Par défaut
    Bonjour

    le problème vient (peut-être) du format "UTF8", à vérifier dans Notepad++. Mais pas sûr qu'excel sache géré ce format.

    Mais Excel peut aider pour le Xml

    Par contre, il y a du boulot.

    D'abord le fichier le fichier GPX est du xml, soit. Mais pas du Xml Office "bien formé". Je m'explique.
    la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <opencpn:start>TOULON</opencpn:start>
    ne passe pas, il faut remplacer les ":" par des "_" soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <opencpn_start>TOULON</opencpn_start>
    pour qu'Excel comprenne. Et dans le même fichier, supprimer les balise <gpx...>

    on obtient un fichier comme celui-ci :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?xml version="1.0" encoding="utf-8" ?>
    <rte>
    <name>Route Test 2</name>
    <extensions>
    	<opencpn_start>TOULON</opencpn_start>
    	<opencpn_end>LES SAB</opencpn_end>
    	<opencpn_viz>1</opencpn_viz>
    </extensions>
    <rtept lat="43.086570672" lon="5.959989507">
    	<time>2014-09-28T13:03:24Z</time>
    	<name>001</name>
    	<sym>diamond</sym>
    	<type>WPT</type>
    	<extensions>
    		<opencpn_viz>1</opencpn_viz>
    		<opencpn_viz_name>0</opencpn_viz_name>
    		<opencpn_auto_name>1</opencpn_auto_name>
    	</extensions>
    </rtept>
    <rtept lat="43.065893029" lon="5.986304225">
    	<time>2014-09-28T13:03:27Z</time>
    	<name>002</name>
    	<sym>diamond</sym>
    	<type>WPT</type>
    	<extensions>
    		<opencpn_viz>1</opencpn_viz>
    		<opencpn_viz_name>0</opencpn_viz_name>
    		<opencpn_auto_name>1</opencpn_auto_name>
    	</extensions>
    </rtept>
    </rte>
    Importer ce fichier dans le fichier joint (Cartes.xlsm)
    Saisir les fameux points avec le fichier joint . Le bouton "Export" fait la même chose que "Exporter" dans le pavé "XML" de l'onglet "Développeur"

    Reste à retravailler le fichier comme un fichier texte en remplaçant le "_" par des ":" et à remettre les balise <gpx... à leur place

    Pour le XML, c'est là :http://xml.developpez.com/


    Cordialement
    Fichiers attachés Fichiers attachés

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 10
    Par défaut
    Bonjour,

    Je vous remercie beaucoup et cela va bien m'aider dans l'établissement de la macro.
    Effectivement, les : mais aussi " sont des symboles qui sont mal digérés et me provoquent des erreurs.
    Ce n'est pas gagné, mais je pense que grace a vos conseils cela me permettra de trouver LES solutions a mes PB.

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 31/07/2015, 10h12
  2. [VBA-excel] import de fichier txt sans délimiteur de texte
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/01/2008, 05h49
  3. [VBA-E] Import de fichier txt multiple
    Par Jidewe dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 13/02/2007, 10h45
  4. [Tableaux] transformation d'un fichier txt en xml
    Par edophie dans le forum Langage
    Réponses: 1
    Dernier message: 26/09/2006, 12h55
  5. [VBA-E]Créer un fichier txt depuis une feuille Excel
    Par marie10 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 20/02/2006, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo