Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

export CSV ou tXT

  • Initiateur de la discussion Initiateur de la discussion billysteph
  • 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 !

B

billysteph

Guest
Bonjour a tous,

J'ai un fichier .XLS, et je dois faire un fichier .CSV ou .TXT d'une des feuilles.
J'ai fait un bouton qui m'enregistre tout ca (je pense que c'est du bricolage; mais bon...).
Le seul "hic", c'est que le fichier CSV ou TXT ne reagit pas comme je le voudrai, en fait il devrait etre constituer comme cela:
"1","2",3,"4",5,6

Oui, il me faut des virgules, non pas des points virgules, et suivant certaines valeurs, il me faut des guillemets " " sur certaines donnees.
Est ce que quelqu'un aurait une idee pour me faciliter la recherche, car là, je desespere.
Merci d'avance,
 
Bonjour BillySteph, le Forum

Je pense qu'une petite démo vaut toujours mieux qu'un long discours !

  => Fichier Téléchargeable Lien supprimé

  => Fil de Discussion Lien supprimé

Maintenant pour ta demande précise, il faudra un peu adapter le code à ce niveau :
  => Module.Name "Exportation"
  => Macro.Name "Sub BuildTXT(Separateur As String)"
  => Line.Number 30 to 32
  => Code Original :
&nbsp;&nbsp;&nbsp;If C < 4 Then
&nbsp;&nbsp;&nbsp; TheText = TheText & CStr(Cells(L, C).Text) & Separateur
&nbsp;&nbsp;&nbsp; Else
&nbsp;&nbsp;&nbsp; TheText = TheText & CStr(Cells(L, C).Text)
&nbsp;&nbsp;&nbsp; End If

&nbsp;&nbsp;=> Code de Remplacement :
&nbsp;&nbsp;&nbsp; If C < 4 Then
&nbsp;&nbsp;&nbsp; TheText = TheText & Chr(34) & CStr(Cells(L, C).Text) & Chr(34) & Separateur
&nbsp;&nbsp;&nbsp; Else
&nbsp;&nbsp;&nbsp; TheText = TheText & Chr(34) & CStr(Cells(L, C).Text) &nbsp;&nbsp;&nbsp; & Chr(34)
End If

Maintenant au regard de ce que tu as écrit => "1","2",3,"4",5,6
Je Conclus que tu as 6 colonnes alors que mon Programme en exporte que 4...

Donc le code pour toi donnerait un peu un résulat comme ceci :

Option Explicit

Sub BuildTXTBillySteph()
Dim Range As Object, Line As Object
Dim TheText As String, ThePath As String, Separator As String
Dim TheFile As Variant
Dim L As Integer
Dim C As Byte


ThePath = ThisWorkbook.Path & "\ReportDataTXT"
TheFile = Application.GetSaveAsFilename(ThePath, "Fichier,*.txt")
If TheFile = False Then Exit Sub

Separator = ","
Set Range = ActiveSheet.Range("A1:F" & TXT.Range("A65536").End(xlUp).Row)
Open TheFile For Output As #1

For Each Line In Range.Rows
L = L + 1
TheText = ""

For C = 1 To 6
If C < 3 Or C = 4 Then
TheText = TheText & Chr(34) & CStr(Cells(L, C).Text) & Chr(34) & Separator
ElseIf C = 3 Or C = 5 Then
TheText = TheText & CStr(Cells(L, C).Text) & Separator
Else
TheText = TheText & CStr(Cells(L, C).Text)
End If
Next C

Print #1, TheText
Next
Close

Set Range = Nothing
End Sub


Bon Aprèm
@+Thierry
 
- 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

D
  • Question Question
2
Réponses
28
Affichages
2 K
Deleted member 441486
D
Réponses
23
Affichages
1 K
Réponses
5
Affichages
588
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…