• Initiateur de la discussion Initiateur de la discussion chocapic
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

chocapic

Guest
Bonjour à tous, je post mon premier message, mais je vous suis depuis longtemps et j'avais jusqu’à présent toujours trouvé toute les solutions grâce à vos différent post et je vous en remercie.

Mon problème aujourd'hui est quand je fais une sauvegarde en CSV via la macro ci dessous, ça fonctionne mais je souhaiterai qu'il ne mette pas de séparateur tout à la fin.
actuellement:
firstname|lastname|language|enableclient|
Sebastien|toto|fr_FR|1|

ce que j'aimerai
firstname|lastname|language|enableclient
Sebastien|toto|fr_FR|1

Code:
Sub SaveAsCSVRep(FileName$)
Dim Range As Object, Line As Object, cell As Object
Dim StrTemp As String
Dim Separateur As String
Separateur = "|"
Set Range = ActiveSheet.UsedRange.End(xlUp).Row
Open FileName For Output As #1
For Each Line In Range.Rows
StrTemp = ""
For Each cell In Line.Cells
StrTemp = StrTemp & CStr _
(cell.Text) & Separateur
Next
Print #1, StrTemp
Next
Close
End Sub
 
Re : Sauvegarde CSV

Bonjour Chocapic

Tu peux tester cette macro.

Code:
Sub SaveAsCSVRep() '(FileName$)
Dim Range As Object, Line As Object, cell As Object
FileName = "C:\temp\text.csv"
Dim StrTemp As String
Dim Separateur As String
Separateur = "|"
Set Range = Selection 'ActiveSheet.UsedRange.End(xlUp).Row
Open FileName For Output As #1
For Each Line In Range.Rows
StrTemp = ""
For Each cell In Line.Cells
StrTemp = StrTemp & CStr _
(cell.Text) & Separateur
Next
StrTemp2 = Mid(StrTemp, 1, Len(StrTemp) - 1)
Print #1, StrTemp2
Next
Close
End Sub

Merci, je vais le mettre dans mon Pense-bête, cela pourrait m'être utile.
 
Re : Sauvegarde CSV

Merci pour ta reponse rapide, malheureusement ça ne m'a rien changé... 🙁
j'ai vu que tu as egalement ajouté une ligne FileName
mon fichier n'en a pas car je l'ajoute sur la sub juste avant

Code:
Sub Save_CSV_Rep()
Dim fich$
Dim cell As Range
Dim nom_client As String

nom_client = Worksheets("Résumé").Range("C7")

If Len(Dir("C:\\XIVO", vbDirectory)) = 0 Then
MkDir "C:\\XIVO"
End If

If Len(Dir("C:\\XIVO\" & nom_client, vbDirectory)) = 0 Then
MkDir "C:\\XIVO\" & nom_client
End If

fich = "C:\\XIVO\" & nom_client & "\imp_rep.csv"

SaveAsCSVRep fich
'OpenCSV fich


End Sub
 
Re : Sauvegarde CSV

Re


Merci pour ta reponse rapide, malheureusement ça ne m'a rien changé... 🙁
j'ai vu que tu as egalement ajouté une ligne FileName
mon fichier n'en a pas car je l'ajoute sur la sub juste avant

J'ai juste voulu tester rapidement mais normalement en modifiant ces 2 lignes dans ton code original, cela dervrait le faire:

Code:
StrTemp2 = Mid(StrTemp, 1, Len(StrTemp) - 1)
Print #1, StrTemp2

Tiens nous au courant 🙂.
 
Re : Sauvegarde CSV

Salut, à tester
Code:
Option Explicit

Sub SaveAsCSVRep()
Dim Rng As Range, Lne As Range, cel As Range
Dim StrTemp As String
Dim Separateur As String
Dim FileName As String
Dim LastCol As Long

    FileName = ThisWorkbook.Path & "\" & "Test.csv"
    Separateur = "|"
    Set Rng = ActiveSheet.UsedRange

    Open FileName For Output As #1
    For Each Lne In Rng.Rows
        StrTemp = ""
        For Each cel In Lne.Cells
            LastCol = Lne.Cells.End(xlToRight).Column
            If cel.Column >= LastCol Then
                StrTemp = StrTemp & CStr(cel.Text)
            Else
                StrTemp = StrTemp & CStr(cel.Text) & Separateur
            End If
        Next cel
        Print #1, StrTemp
    Next Lne
    Close
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
732
Retour