Macro _Exporter des données au format csv

Fermé
senecartour Messages postés 325 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 29 octobre 2020 - 26 janv. 2016 à 11:53
senecartour Messages postés 325 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 29 octobre 2020 - 26 janv. 2016 à 18:05
Bonjour,

J'ai trouvé un code en ligne que j'essaie d'adapter à mon cas.
Je souhaite exporter les données de ma feuille dans un fichier texte.

Mais j'ai un message d'erreur au lancement de ma macro "Sub, Function ou property attendu".

J'ai beau recherché, je ne trouve pas les causes de l'erreur.
Je vous joins le fichier avec le code via le lien
https://www.cjoint.com/c/FAAk1BvUwih

Merci d'avance pour votre aide
A voir également:

2 réponses

Bonjour
voila une nouvelle macro
peux etre plus simple pour toi
Sub ExportCsv()
Application.ScreenUpdating = False
Nom = "Testcsv"
Ext = ".csv"
Fichier = Nom & Ext
chemin = ActiveWorkbook.Path & Application.PathSeparator
CheminFiche = chemin & Fichier
Sep = ";"
'Sep = vbTab
Nlig = Cells(Rows.Count, 1).End(xlUp).Row
   Set plage = Range("A1:C" & Nlig)
      Open CheminFiche For Output As #1
         For Each Lig In plage.Rows
            Tmp = ""
               For Each Cel In Lig.Cells
                  Tmp = Tmp & CStr(Cel.Text) & Sep
               Next
            Print #1, Tmp
         Next
      Close
   Set plage = Nothing
Application.ScreenUpdating = True
MsgBox "Terminer"
End Sub

A+
Maurice
0
senecartour Messages postés 325 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 29 octobre 2020 3
26 janv. 2016 à 15:54
Bonjour Maurice pour c code.
Mais je souhaiterais partir des codes dans mon fichier.
l'idée c'est de comprendre pourquoi mon code ne fonctionne pas.
Auriez-vous une idée ?
Merci d'avance
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
26 janv. 2016 à 16:46
Bonjour

L'objet "ADODB.Stream" ne me semble pas adapté pour les fichier texte voir ici

En faisant un brin de ménage dans ton code ceci devrait (à peu près)fonctionner, mais la solution de Maurice, que je salue au passage, est plus adaptée

Option Explicit

Sub exporter()
Enregistrerdonnees "semecartour2"
End Sub

Sub Enregistrerdonnees(ByVal Fichier As String)
Dim Ligne As Long, NombreLigne As Long, NombreColonne As Long, Colonne As Long
Dim oStream As Object
Dim feuille As String, chemin As String
Dim s As String

NombreLigne = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
NombreColonne = ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Column
chemin = Application.ActiveWorkbook.Path
feuille = ActiveSheet.Name
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Position = 0
oStream.Charset = "UTF-8"
For Ligne = 1 To NombreLigne
s = Cells(Ligne, 1)
For Colonne = 2 To NombreColonne
s = s & ";" & Cells(Ligne, Colonne)
Next Colonne
oStream.writeText s & Chr(10)
Next Ligne
oStream.savetofile chemin & "\" & Fichier & ".csv"
Set oStream = Nothing
End Sub

Cdlmnt
0
senecartour Messages postés 325 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 29 octobre 2020 3
26 janv. 2016 à 18:05
BonjourCCM81,
J'ai testé votre code mais ça ne fonctionne pas.
C'est vrai que la solution de Maurice marche mais j'aiemrais comprendre pourquoi mon code ne marche pas alors que tout semble être OK.
C'est là la question.
0