Macro import kml (séparateur de décimal)
Suite à la question ci dessous, le séparateur décimal de ma feuille excel est une virgule je voudrais lors de l'import dans le fichier txt que ce séparateur devienne un point sans modifier le fichier excel. Est ce possible ?
Bonjour,
je suis en train de coder une petite macro qui permet d'exporter des coordonées GPS d'un fichier excel vers un fichier txt pour le lire sur maps.
Voici ou j'en suis
Sub convertir()
Dim Cible As Integer, x As Integer, y As Integer
Dim Resultat As String
Dim Cell As Range
'Définit la dernière ligne non vide dns la colonne A
x = Range("A65536").End(xlUp).Row
Cible = FreeFile
Open "D:\Mes documents\essais.txt" For Append As #Cible
For Each Cell In Range("B" & x)
Rslt1 = "<name>" & Range("B" & x) & "</name>"
Rslt2 = "<description>" & Range("A" & x) & "</description>"
Rslt3 = "<Point><coordinates>" & Range("L" & x) & "," & Range("G" & x) & "</coordinates></Point>"
Rslt4 = "</Placemark>"
'Boucle sur les colonnes A à E
' For y = 0 To 4
' Rslt1 = Rslt1 & Cell.Offset(0, y) & Rslt1
' Next y
Print #Cible, Rslt1, Rslt2, Rslt3, Rslt4
Next Cell
Close #Cible
End SubC'est un code que j'ai trouver sur internet et modifier selon mes besoins
Mon probème sont les suivant (eh oui j'en ai plusieurs)
1° en activant la macro voici le résultat que j'obtiens :
<name>MTMOR</name> <description>MONTMORILLON</description> <Point><coordinates>0,8785,46,4332</coordinates></Point> </Placemark>Voici le resultat que je souhaite:
<name>MTMOR</name>
<description>MONTMORILLON</description>
<Point><coordinates>0,8785,46,4332</coordinates></Point>
</Placemark>Comment puis je coder les retours à la ligne sachant que dans le fichier excel ci joint les données sont toutes sur la même ligne
2
Salut le Forum
Sépare tes PRINT
Sub convertir()
Dim Cible As Integer, x As Integer, y As Integer
Dim Resultat As String
Dim Cell As Range
'Définit la dernière ligne non vide dns la colonne A
x = Range("A65536").End(xlUp).Row
Cible = FreeFile
Open "D:\essais.txt" For Append As #Cible
For x = 2 To x
Rslt1 = "<name>" & Range("B" & x) & "</name>"
Rslt2 = "<description>" & Range("A" & x) & "</description>"
Rslt3 = "<Point><coordinates>" & Range("L" & x) & "," & Range("G" & x) & "</coordinates></Point>"
Rslt4 = "</Placemark>"
Print #Cible, Rslt1
Print #Cible, Rslt2
Print #Cible, Rslt3
Print #Cible, Rslt4
Next x
Close #Cible
End SubMytå
Merci beaucoup Mytå
J'ai un second problème
Dans mon fichier excel le separateur de décimal est une virgule je souhaiterais le remplacer par un point dans mon fichie txt mais garder la virgule pour séparer la latitude et la longitude
Rslt3 = "<Point><coordinates>" & Range("L" & x) & "," & Range("G" & x) & "</coordinates></Point>"Ce que j'ai :
<Point><coordinates>0,8785,46,4332</coordinates></Point>Ce que je voudrais obtenir :
<Point><coordinates>0.8785,46.4332</coordinates></Point>quelqu'un aurait t'il une solution svp ?
Merci
Bonjour,
le pb c'est que dans ton fichier on a que des #VALEUR! en G et L...
2 possibilités :
- dans les options avancées décocher temporairement 'utiliser les séparateurs système' et y mettre les séparateurs que tu veux.
- ou pour Lx :
eric