Salut JExcelL2F,
voici votre macro
Sub KML2XML()
Dim FileToOpen, s, s1, WB, aA, aOut, tim, i As Long
FileToOpen = Application.GetOpenFilename(title:="Votre fichier coordinates", FileFilter:="KML-Files (*.kml),*.kml")
If FileToOpen = False Then Exit Sub
tim = Timer
If UCase(Right(FileToOpen, 4)) = ".KML" Then 'suffix est ".KML"
Application.ScreenUpdating = False
s = Left(FileToOpen, Len(FileToOpen) - 4)
s1 = s & ".xML"
FileCopy FileToOpen, s1 'copier & renommer
Set WB = Workbooks.Open(s1) 'ouvrir fichier "XML"
With ActiveSheet.UsedRange
aA = .Offset(2, 3).Resize(.Rows.Count - 2, 2).Value 'mémorisier 2 colonnes
End With
Application.DisplayAlerts = False
WB.Close 0 'fermer sans sauvegarder
Application.DisplayAlerts = False
ReDim aOut(0 To UBound(aA), 1 To 1) 'créer matrice
aOut(0, 1) = "delimiter=|"
For i = 1 To UBound(aA) 'boucler ligne par ligne
aOut(i, 1) = Replace(aA(i, 2), ",", "|") & "|" & Trim(aA(i, 1))
Next
With Worksheets.Add 'nouvelle feuille
.Range("A1").Resize(UBound(aOut) + 1).Value = aOut 'coller résultat
.Range("A1").EntireColumn.AutoFit
End With
End If
MsgBox "prêt en " & Format(Timer - tim, "0.0\s")
End Sub