Bonjour,
Je viens vous poser un problème sur lequel je butte sans pouvoir trouver de réponse, je m'explique :
mon but est de construire un fichier kml (google) à partir d'information contenue dans une feuille excel. Pour ça je n'ai aucun soucis pour obtenir le code que le fichier kml devrait contenir. Pour le moment ça fonctionne en faisant un copier-coller manuel du code vers un fichier txt, puis enregistrement en *.kml.
Le problème survient lorsque je le fait par une macro, donc enregistrer sous/ fichier texte ou directement en fichier kml. Le bug se produit pour les lignes de mon code qui contiennent déjà des guillements " : excel lors de l'export m'insère en plus un guillement au début et à la fin de chaque ligne qui contient normalement dans le code kml un ".
J'ai déjà épuré les forums sur ce problème d'export.
J'ai trouvé une solution de contournement mais un peu plus difficile à mettre en place :
Dans mon fichier excel je remplace tous les " normaux disons par un autre caractère qui n'apparait nulle part dans mon code exemple : le dollar $. La je lance l'export en fichier txt.
Mon but est d'ensuite aller toujours via vba, ouvrir le fichier texte et supprimer tous les guillements " rajoutés lors de l'export, puis remplacer les $ par des guillements.
Je sais c'est un peu couillon comme solution mais sur le papier ça marche...
Mais je ne connais pas les codes correspondant au traitement des fichiers txt.
J'ai également trouver une autre solution (peut-être plus simple), c'est d'aller inscrire directement les données contenue dans la colonne A dans un fichier texte. J'ai trouver ce code (je ne sais plus trop où) qui inscrit ici plusieurs fois la valeur de A4 dans plusieurs lignes dans le fichier texte.
Ca fonctionne, mais ce que je voudrais c'est incrire mes données contenues dans ma colonne A, ligne par ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub EcrireTxt() Dim Fs As Object, A As Object Dim i As Byte Set Fs = CreateObject("Scripting.FileSystemObject") Set A = Fs.CreateTextFile("C:\Users\Public\Fichier Vide.txt", True) For i = 1 To 10 A.WriteLine (Sheets("kml").Range("A4").Value) Next i A.Close End Sub
Quelqu'un aurait il ne proposition ?
Partager