Enregistrer feuille en fichier csv

Bonjour a tous

Je débute en VBA et je me suis permise de copier un code pour l'instant avant de savoir le faire pour enregistrer automatiquement une feuille en csv

Voici le code :

Sub RegCSV()
Application.ScreenUpdating = False
Dim Plage As Object, oL As Object, oC As Object, Tmp As String, Sep$
Sep = ";"
Set Plage = ActiveSheet.Range("A2:C" & ActiveSheet.Range("A65000").End(3).Row)

Open "Commande_vwr.csv" For Output As #1

For Each oL In Plage.Rows
Tmp = ""
For Each oC In oL.Cells
Tmp = Tmp & CStr(oC.Text) & Sep
Next

Print #1, Tmp
Next
Close
Application.ScreenUpdating = True
End Sub

Lors de la première utilisation l'exportation en csv fonctionne parfaitement ensuite il ne se passe plus rien.

Ni le fichier s'écrase, ni une version 2.

Pouvez vous m'aider ? Je joins un fichier d'exemple

Sabine

Merci beaucoup a tous

Edit Dan : modifié titre du sujet

96classeur1.xlsm (12.81 Ko)

bonjour,

mettre :

Close #1

Le reste sans changement.

A+

Merci

Juste une dernière question, pourquoi

close #1

Merci

...Parce que c'est l'ID du fichier que tu as ouvert et édité.

Open ... As #1
...
print #1
...
close #1

A+

Merci beaucoup,

Sabine

Bonjour,

Je me permets de reprendre le sujet.

J'ai repris ce code de Galopin01 car je dois faire un export régulier de 8 onglets au formats csv.

Pour l'instant je teste sur l'onglet 1 : l'export fonctionne très bien mais il y a un décalage dans les colonnes qui sont générées.

Je vous joints mon fichier d'origine (Fichier test export csv) et le résultat (TestADE) pour que vous puissiez voir le format de mes colonnes.

Est-ce le fait qu'il y ait des saut de paragraphes dans certaines cellules ?

Lorsque je le fais manuellement avec exporter au format csv ça fonctionne bien et les colonnes restent correctes...

Je vous remercie par avance de votre aide.

Arnaud

61testade.zip (31.56 Ko)
Rechercher des sujets similaires à "enregistrer feuille fichier csv"