Utiliser enregistrer-sous pour sauvegarder une feuille en particulier enCSV

Bonjour,

Actuellement j'utilise le code ci-dessous, pour sauvegarder une feuille en particulier en CSV dans le bureau et l'utilisateur peut donner un nom au fichier et il sera automatique sauvegarder en csv dans le bureau. Ici le chemin est déjà prédéfini.

Public Sub Save_CSV()

Application.ScreenUpdating = False

Sheets("DATA_SHEET").Select
Dim N_fold As Variant
Dim Stock_N As String

On Error GoTo Canceled

N_fold = InputBox("Your file will be saved on the desktop.", "Save in CSV", "add a name to the file")

If StrPtr(N_fold) = 0 Then Exit Sub
Stock_N = N_fichier

With ActiveSheet
.Copy

ActiveWorkbook.SaveAs "C:\Users\Johnny\Desktop\" & Stock_N & "_" & .Name & ".csv", xlCSV, Local:=True
ActiveWorkbook.Close False
.Activate

End With

Canceled:
Application.ScreenUpdating = True

End Sub

Vu que je suis nouveau en vba, j'ai vu qu'on pouvait utiliser la fonctionnalité Dialog Box pour utiliser la fonction enregistrer-sous (Save As). J'aimerai pourvoir à l'aide d'une macro sauvegarder une feuille "DATA_SHEET" en csv mais c'est l'utilisateur qui va spécifier le chemin grâce ,à la fenêtre enregistrer-sous.

J'aimerai un peu d'aide pour pouvoir implémenter ce code :

Chemin = Application.GetSaveAsFilename( _
            FileFilter:="CSV Files (*.csv), *.csv", _
            Title:="Save all spreadsheets", _
            InitialFileName:=filenamestring)

Afin qu'on puisse choisir nous même le chemin pour sauvegarder la feuille "DATA_SHEET" dans le dossier spécifier.

Je vous remercie pour votre aide

Bonjour Gwhaou

Dim FileName As String
FileName = Application.GetSaveAsFilename(FileFilter:="Excel Files (*.csv), *.csv")
If FileName = "False" Then
MsgBox "No filename specified!", vbExclamation
Else
Sheets("DATA_SHEET").Select
ActiveSheet.Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs FileName:=FileName, FileFormat:=xlCSV
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
End If

Merci, je vais essayer

Merci encore pour le code, il fonctionne bien, mais j'ai un petit souci d'affichage la feuille enregistrer sous CSV affiche toute les données sur une seule cellule.

Avant l'enregistrement :

capture1

Après l'enregistrement :

capture2

Je vois pas comment régler ce problème.

Rechercher des sujets similaires à "utiliser enregistrer sauvegarder feuille particulier encsv"