Macro pour enregistrer Excel en CSV

Bonjour,

j'ai vraiment besoin d'aide.

Je veux enregistrer une partie de mon fichier excel en CSV à partir de la ligne 4 où commence mon tableau.

Et pour le CSV je veux qu'il soit enregistré dans le même répertoire que le fichier Excel.

Sub testsCSV()
    Dim rep As String
    Dim OldName, NewName
    Dim Chemin As String, Fichier As String
    Dim monclasseur As Workbook
    Set monclasseur = ActiveWorkbook

    Chemin = ThisWorkbook.Path & "\"
    Fichier = Range("A5").Value & "_" & Format(Date, "yyyy") & ".csv"

       monclasseur.SaveAs Filename:= _
       Chemin & Fichier, FileFormat:=xlCSV, _
            CreateBackup:=False
    With ActiveWorkbook
      .Sheets(1).Rows("1:3").Delete
      .Close
    End With
End Sub

Merci par avance.

224csv-tranf.zip (11.05 Ko)

bonjour,

une proposition

Sub testsCSV()
    Dim rep As String
    Dim OldName, NewName
    Dim Chemin As String, Fichier As String
    Dim monclasseur As Workbook
    Set monclasseur = ActiveWorkbook

    Chemin = ThisWorkbook.Path & "\"
    Fichier = Range("A5").Value & "_" & Format(Date, "yyyy") & ".csv"
    With ActiveWorkbook
        .Sheets(1).Rows("1:3").Delete
        .SaveAs Filename:= _
                Chemin & Fichier, FileFormat:=xlCSV, _
                CreateBackup:=False
        .Saved = True
        .Close
    End With
End Sub

Bonjour,

merci pour ta réponse ça marche bien, et j'ai souci un peut particulier avec un de mes deux onglets:

  • - Sur l'oglet RP, le macro s'exécute très bien et me supprime les trois premiers ligne
,
  • - Mais sur l'onglet DI c'est pas le cas alors que c'est le même macro.

Je mets le fichier en PJ.

Par avance merci.

198csv-tranf.zip (16.85 Ko)

bonjour,

essaie ceci, note qu'avec ces données, (même donnée en A5) les fichiers créés porteront le même nom et donc la deuxième création de fichier écrasera la première.

Sub testsCSV()
    Dim rep As String
    Dim Chemin As String, Fichier1 As String

    Chemin = ThisWorkbook.Path & "\"
    Fichier1 = Range("A5").Value & "_" & Format(Date, "yyyy")

    Application.DisplayAlerts = False

    With ActiveWorkbook
    With ActiveSheet
      .Rows("1:3").Delete
      '.SaveAs Filename:=Chemin & Fichier1 & ".xlsm"
      .SaveAs Filename:=Chemin & Fichier1 & ".csv", FileFormat:=xlCSV, CreateBackup:=False
    End With
    End With

     Application.DisplayAlerts = True

End Sub

Bonjour,

vraiment un très grand merci. Là ça marche très bien et pour les problèmes de nom oui j'avais oublié de changer sur le 2iem onglet en A5.

Merci bien.

Bonjour,

j'ai ma macro qui sauvegarde ma feuille en csv, jusqu'ici elle marchait très bien. Mais actuellement la feuille excel en question (Base) est cachée ou masquée (c'est fait exprès) et la macro ne marche plus. elle m'affiche juste du blanc.

Y a t il une solution possible ?

Sub EXCEL_TO_CSV()
Dim sNomCsv As String
Dim Chemin As String
Worksheets("Base").Unprotect 'Password:="123456"
    On Error Resume Next
    Chemin = dossier_cible
    sNomCsv = Worksheets("Base").Range("A1").Value & "_" & Worksheets("Base").Range("J1").Value & " " & Format(Date, "yyyy")
    Application.DisplayAlerts = False
    Worksheets("Base").Copy

    With ActiveWorkbook
        .SaveAs Filename:=Chemin & "\" & sNomCsv & ".csv", FileFormat:=xlCSV, local:=True
        .Close
    End With

    MsgBox "Le fichier CSV est enregistré sous : " & dossier_cible & "\" & sNomCsv
    Application.DisplayAlerts = True
    On Error GoTo 0
End Sub

Merci d'avance.

Bonjou,r

essaye ceci

Sub EXCEL_TO_CSV()
Dim sNomCsv As String
Dim Chemin As String
Worksheets("Base").Visible = True
Worksheets("Base").Unprotect 'Password:="123456"

   On Error Resume Next
    Chemin = dossier_cible
    sNomCsv = Worksheets("Base").Range("A1").Value & "_" & Worksheets("Base").Range("J1").Value & " " & Format(Date, "yyyy")
    Application.DisplayAlerts = False
    Worksheets("Base").Copy

    With ActiveWorkbook
        .SaveAs Filename:=Chemin & "\" & sNomCsv & ".csv", FileFormat:=xlCSV, local:=True
        .Close
    End With

    MsgBox "Le fichier CSV est enregistré sous : " & dossier_cible & "\" & sNomCsv
    Application.DisplayAlerts = True
    Worksheets("Base").Visible = False
    On Error GoTo 0
End Sub

re h2so4 ,

merci pour la réponse et l'astus. Ça marche super bien.

erreur de post !

Rechercher des sujets similaires à "macro enregistrer csv"