pb export feuille excel en .csv quote

r0man0

XLDnaute Nouveau
Voilà j'ai un soucis, j'ai une macro qui fonctionne bien, cependant elle me sauvegarde ma feuille en .csv automatiquement, et après ouverture de mon .csv dont j'ai changé l'extension en .rte (format de fichier lisible par oziexplorer), il me met des guillemets quand il y a présence d'une chaine de caractère avec séparateur, bref c'est la loose, parce-que j'aimerai pouvoir exporter ma feuille directement en .rte et sans guillemets.
Je suis un peu pommé, ci-joint ma macro.
Pourriez-vous m'aiguiller, j'ai vu par les différents moteur de recherche des solutions, mais il s'agit souvent d'une ou deux lignes et je me dis que dans ma macro il me faudra changer bien plus d'une ou deux lignes pour arriver au même résultat.
Cordialement.
Sub FICELLERTE()

Dim Destination As Range
Dim MaPlage As Range
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("Work_Sheet_2").Select
Cells.ClearContents
Sheets("RTE_FLITESTAR.rte").Select
Cells.ClearContents
Sheets("Compilation").Select
Set Destination = Sheets("Work_Sheet_2").Range("A1")
Set MaPlage = Sheets("Compilation").Range("A1:M" & Sheets("Compilation").Range("A65536").End(xlUp).Row)
Set tbl = ActiveCell.CurrentRegion

tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, tbl.Columns.Count).Select
MaPlage.Copy Destination
Sheets("Work_Sheet_2").Select

Range("N2").FormulaR1C1 = "1"

Cells.Find("*", after:=[A1], LookIn:=xlFormulas, lookat:=xlPart, searchorder:=xlByRows, searchdirection:=xlPrevious, _
MatchCase:=False, searchformat:=False).Select

n = Selection.Row

For i = 2 To n
Cells(i, 14).FormulaR1C1 = _
"=R[-1]C+1"
Cells(i, 15).FormulaR1C1 = _
"=RC[-9]+((500*RC[-8]+3*RC[-7])/30000)"
Cells(i, 17).FormulaR1C1 = _
"=RC[-7]+((500*RC[-6]+3*RC[-5])/30000)"
Cells(i, 16).FormulaR1C1 = _
"=IF(RC[-11]=""s"",-RC[-1],RC[-1])"
Cells(i, 18).FormulaR1C1 = _
"=IF(RC[-9]=""W"",-RC[-1],RC[-1])"
Cells(i, 20).FormulaR1C1 = _
"=CONCATENATE(""W, 0, "",C[-6],"", "",C[-6],"","",C[-16],"" , "",C[-4],"", "",C[-2],"",39154.4176025, 111, 4, 5, 255, 13158342,0, 0, 0"")"

Next i

Range("T2:T65000").Copy

Sheets("RTE_FLITESTAR.rte").Columns("A:A").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Sheets("RTE_FLITESTAR.rte").Select
For j = 1 To 5
Rows("1:1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Next j

Range("A1").FormulaR1C1 = "OziExplorer Route File Version 1.0"
Range("A2").FormulaR1C1 = "WGS 84"
Range("A3").FormulaR1C1 = "Reserved 1"
Range("A4").FormulaR1C1 = "Reserved 2"
Range("A5").FormulaR1C1 = "R, 0,R0 ,,255"

Sheets("RTE_FLITESTAR.rte").Select
Cells.Select
ChDir "G:\tst flitestar\Route"
ActiveWorkbook.SaveAs Filename:= _
"G:\tst flitestar\Route\RTE_FLITESTAR.rte.csv", FileFormat:=xlCSV, _
CreateBackup:=False
Sheets("Main_Sheet").Select
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
 

Staple1600

XLDnaute Barbatruc
Re : pb export feuille excel en .csv quote

Bonjour R0man0 et Bienvenue sur le forum, Bonjour le fil et ses "fileurs"

R0man0
Lien supprimé pourrait de rendre service (c-a-d augmenter le nombre de membres du forum prêts à t'aider à solutionner ton problème que tu as la gentillesse de vernir partager sur le forum XLD)

Maintenant que tu connais Ceci, je vais te présenter =5&prefixchoice[]=&prefixchoice[]=Excel_2010&prefixchoice[]=Excel_2007&prefixchoice[]=Excel_2003&prefixchoice[]=Excel_2002&prefixchoice[]=Excel_2000&prefixchoice[]=MAC&prefixchoice[]=Toutes_Versions&prefixchoice[]=Access&prefixchoice[]=Word&prefixchoice[]=Outlook&prefixchoice[]=Power_Point&prefixchoice[]=Visio&prefixchoice[]=Project&prefixchoice[]=Autres&prefixchoice[]=Excel2010&prefixchoice[]=Excel2007&prefixchoice[]=Developpement_vba&prefixchoice[]=Initiation&prefixchoice[]=Prefectionnement&childforums=1&replyless=0&replylimit=0&type[]=1"]Cela et ses sœurs Celles-ci (elles sont au moins cinq )

PS: Je vais vois néanmoins de mon côté si je peux te filer un coup de main pour ta question
 

r0man0

XLDnaute Nouveau
Re : pb export feuille excel en .csv quote

Bonjour, je suis partis en quête de réponse pour mon problème, mais je n'arrive pas à intégrer les différentes lignes de codes que j'ai trouvé, je bloque toujours au même endroit quand je sauvegarde en .rte.
Si quelqu'un pouvait me guider et me dire ou modifier mon code.
Je vous joint les outils excel que j'utilise et post le résultat de ce fameux fichier qui m'agace que la macro enregistre avec des guillemets.

OziExplorer Route File Version 1.0
WGS 84
Reserved 1
Reserved 2
"R, 0,R0 ,,255"
"W, 0, 1, 1,LFOE , 49.0238666666667, 1.21866666666667,39154.4176025, 111, 4, 5, 255, 13158342,0, 0, 0"
"W, 0, 2, 2,EVRUK , 49.0738666666667, 0.688333333333333,39154.4176025, 111, 4, 5, 255, 13158342,0, 0, 0"
"W, 0, 3, 3,DPE , 49.9218666666667, 1.16906666666667,39154.4176025, 111, 4, 5, 255, 13158342,0, 0, 0"
"W, 0, 4, 4,PERON , 49.9075, 2.83733333333333,39154.4176025, 111, 4, 5, 255, 13158342,0, 0, 0"
"W, 0, 5, 5,BILGO , 49.9012, 3.44163333333333,39154.4176025, 111, 4, 5, 255, 13158342,0, 0, 0"
"W, 0, 6, 6,REM , 49.307, 4.04053333333333,39154.4176025, 111, 4, 5, 255, 13158342,0, 0, 0"
"W, 0, 7, 7,VATRI , 48.7893333333333, 4.055,39154.4176025, 111, 4, 5, 255, 13158342,0, 0, 0"
"W, 0, 8, 8,RLP , 47.9038, 5.24283333333333,39154.4176025, 111, 4, 5, 255, 13158342,0, 0, 0"
"W, 0, 9, 9,EPL , 48.3173666666667, 6.0556,39154.4176025, 111, 4, 5, 255, 13158342,0, 0, 0"
"W, 0, 10, 10,LFSO , 48.5764666666667, 5.9527,39154.4176025, 111, 4, 5, 255, 13158342,0, 0, 0"
 

Pièces jointes

  • OUTIL RTE FLITESTAR.xls
    164.5 KB · Affichages: 40
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : pb export feuille excel en .csv quote

Bonjour


Les espaces que tu ajoutes ici sont obligatoires?
Code:
Cells(i, 20).FormulaR1C1 = _
            "=CONCATENATE(""W,  0,  "",C[-6],"",  "",C[-6],"","",C[-16],""            ,  "",C[-4],"",  "",C[-2],"",39154.4176025,  111, 4, 5,       255,  13158342,0, 0,    0"")"

Sinon essaie de voir de ce côté
(ci-dessous extrait de l'aide VBA accessible par les touches ALT+F11 puis F1)
Print #, instruction, exemple
Cet exemple utilise l'instruction Print # pour écrire des données dans un fichier.

Open "FICHTEST" For Output As #1 ' Ouvre le fichier en écriture.
Print #1, "Ceci est un test" ' Écrit le texte dans le fichier.
Print #1, ' Insère une ligne vierge dans le fichier.
Print #1, "Zone 1"; Tab ; "Zone 2" ' Sépare la chaîne en deux.
' Sépare les chaînes de caractères avec des espaces.
Print #1, "Bonjour" ; " " ; "à tous"
Print #1, Spc(5) ; "5 espaces à gauche" ' Écrit cinq espaces à gauche.
Print #1, Tab(10) ; "Bonjour" ' Écrit le mot à partir de la colonne 10.

' Affecte les valeurs de type Boolean, Date, Null et Error.
Dim MyBool, MyDate, MyNull, MyError
MyBool = False : MyDate = #February 12, 1969#
MyNull = Null
MyError = CVErr(32767)
' True, False, Null et Error sont traduits en fonction
' des paramètres régionaux de votre système. Les
' littéraux date sont écrits au format de date abrégée standard.
Print #1, MyBool ; " est une valeur booléenne"
Print #1, MyDate ; " est une date"
Print #1, MyNull ; " est une valeur nulle"
Print #1, MyError ; " est une valeur d'erreur"
Close #1 ' Ferme le fichier.

Il y a aussi Ce lien n'existe plus
 

r0man0

XLDnaute Nouveau
Re : pb export feuille excel en .csv quote

Merci, j'ai trouvé une solution qui me paraît bien, je vous poste le code, sinon concernant les espaces, oui ils sont obligatoires et je n'ai rien trouvé de mieux pour l'instant.

VB:
Sub FICELLEWPT()
Dim Destination, MaPlage As Range
Dim Fs As Object, Marker As Object
Dim k As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("Work_Sheet_1").Select
Cells.ClearContents
Sheets("WPT_FLITESTAR").Select
Cells.ClearContents
Sheets("Compilation").Select
Set Destination = Sheets("Work_Sheet_1").Range("A1")
Set MaPlage = Sheets("Compilation").Range("A1:M" & Sheets("Compilation").Range("A65536").End(xlUp).Row)
Set tbl = ActiveCell.CurrentRegion


tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, tbl.Columns.Count).Select
MaPlage.Copy Destination
Sheets("Work_Sheet_1").Select

Range("N1").FormulaR1C1 = "1"

Cells.Find("*", after:=[A1], LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, searchdirection:=xlPrevious, _
    MatchCase:=False, SearchFormat:=False).Select
    
n = Selection.Row
    
For i = 1 To n
        Cells(i, 14).FormulaR1C1 = _
            "=R[-1]C+1"
        Cells(i, 15).FormulaR1C1 = _
            "=RC[-9]+((500*RC[-8]+3*RC[-7])/30000)"
        Cells(i, 17).FormulaR1C1 = _
            "=RC[-7]+((500*RC[-6]+3*RC[-5])/30000)"
        Cells(i, 16).FormulaR1C1 = _
            "=IF(RC[-11]=""s"",-RC[-1],RC[-1])"
        Cells(i, 18).FormulaR1C1 = _
            "=IF(RC[-9]=""W"",-RC[-1],RC[-1])"
        Cells(i, 20).FormulaR1C1 = _
            "=CONCATENATE(C[-6],"","",C[-16],"",  "",C[-4],"","",C[-2],"",39154.4176025,  111, 4, 5,       255,  13158342,0, 0,    0,   -777,     10, 8, 1,10,0,2.0,2,,,"")"
Next i

    Range("T1:T65000").Copy

    Sheets("WPT_FLITESTAR").Columns("A:A").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    
    Sheets("WPT_FLITESTAR").Select
    For j = 1 To 4
        Rows("1:1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Next j

    Range("A1").FormulaR1C1 = "OziExplorer Waypoint File Version 1.1"
    Range("A2").FormulaR1C1 = "WGS 84"
    Range("A3").FormulaR1C1 = "Reserved 2"
    Range("A4").FormulaR1C1 = "lei28"
    
Set Fs = CreateObject("Scripting.FileSystemObject")
Set Marker = Fs.CreateTextFile("G:\tst flitestar\Waypoint\WPT_FLITESTAR.wpt", True)
    With Sheets("WPT_FLITESTAR")
For k = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row
On Error GoTo Errorhandler
Marker.WriteLine (.Range("A" & k).Value)
Next k

Errorhandler:

      Select Case Err.Number

        Case 13:
            ErrMsg = "Une erreur est survenue ligne " & k - 4 & " de la feuille Compilation."

            Result = MsgBox(ErrMsg, Choices)

        If Result = vbOK Then
            Resume Next
        End If
    End Select
Marker.SaveAs Filename:="G:\tst flitestar\Waypoint" & [E8].Value & [E10].Value & ".wpt"
Marker.Close
Set Marker = Nothing
Set Fs = Nothing
    End With
    Sheets("Main_Sheet").Select
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox ("Export WAYPOINT réussi")

End Sub

Par contre je rencontre une erreur, j'ai voulu pouvoir enregistrer mon fichier avec un nom dont je vais chercher les infos dans deux cellules, or il break à cette ligne
Marker.SaveAs Filename:="G:\tst flitestar\Waypoint" & [E8].Value & [E10].Value & ".wpt"

Je n'arrive pas à résoudre le problème.
Cordialement.
 

Staple1600

XLDnaute Barbatruc
Re : pb export feuille excel en .csv quote

Bonjour

Par contre je rencontre une erreur, j'ai voulu pouvoir enregistrer mon fichier avec un nom dont je vais chercher les infos dans deux cellules, or il break à cette ligne
Marker.SaveAs Filename:="G:\tst flitestar\Waypoint" & [E8].Value & [E10].Value & ".wpt"



Je n'arrive pas à résoudre le problème.
C'est normal
Marker est un objet VBScript
et SaveAs une méthode VBA pour Excel

PS: et il manque un \ et deux . (mais même ainsi je ne pense pas que cela fonctionne)
Marker.SaveAs Filename:="G:\tst flitestar\Waypoint\" & .[E8].Value & .[E10].Value & ".wpt"

Essaie en faisant ainsi (non testé)
Supprimes ou commentes ces lignes
'Marker.SaveAs Filename:="G:\tst flitestar\Waypoint" & [E8].Value & [E10].Value & ".wpt"
'Marker.Close

et modifie ainsi
Dim NOMFIC$
With Sheets("NOMDETAFEUILLE")
NOMFIC="G:\tst flitestar\Waypoint\" & .[E8].Text & .[E10].Text & ".wpt"
End With
Set Fs = CreateObject("Scripting.FileSystemObject")
Set Marker = Fs.CreateTextFile(NOMFIC, True)
 
Dernière édition:

Discussions similaires

Réponses
14
Affichages
637
Réponses
11
Affichages
420

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 810
dernier inscrit
mohammedaminelahbali