Macro VBA : Exporter données en .csv

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

Lau_rent

XLDnaute Nouveau
Bonjour,

Je cherche une macro permettant de générer un fichier .csv, des colonnes B, C et H de mon fichier "Données.xls",
mais uniquement à partir de la 3ème ligne, et sans les cellules vides

J'ai trouvé quelques trucs sur le net ressemblant à ce que je souhaite faire, notamment ceci :

Code:
Sub ExportCSV()
Dim Plage As Object, oL As Object, oC As Object, Tmp As String, Sep$
Dim NomEtCheminFichier As String
NomEtCheminFichier = "C:\Temp\Export.csv"
 Set plage = ActiveSheet.Range("A2:f" & ActiveSheet.Range("A65000").End(3).Row)
   Plage.Copy
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:=NomEtCheminFichier, FileFormat:=xlCSV, CreateBackup:=False
    ActiveWindow.Close
End Sub


Mais je n'arrive pas à l'adapté à mes colonnes B, C et H et à partir de la 3eme ligne.

Si quelqu'un peut m'aider ? Merci bcp !
 

Pièces jointes

Dernière édition:
Re : Macro VBA : Exporter données en .csv

Bonjour

peut-être en modifiant la plage comme ceci:

Code:
DerLig = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
Set Plage = ActiveSheet.Range("B3:C" & DerLig & ",H3:H" & DerLig)

A+

EDIT:

Bonjour camarchepas
 
Dernière édition:
Re : Macro VBA : Exporter données en .csv

Merci pour cotre correction. Cela fonctionne nickel.

Je voudrais apporter une autre modification à ce code :
Je voudrais que le nom du fichier exporté comporte (automatiquement) la date du jour. Il aurait donc le format suivant :

Export_2015_01_05.csv pour un export réalisé aujourd'hui.

Pouvez-vous adapter le code en conséquence ?
 
Re : Macro VBA : Exporter données en .csv

Bonjour Paf, Laurent

comme ceci peut être :

Code:
Sub ExportCSV()
 Dim Plage As Object, oL As Object, oC As Object, Tmp As String, Sep$
 Dim NomEtCheminFichier As String, Derlig as long 
 NomEtCheminFichier = "C:\Temp\Export_" & Year(Date) & "_" & Right("0" & Month(Date), 2) & "_" & Right("0" & Day(Date), 2) & ".csv"

DerLig = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
 Set Plage = ActiveSheet.Range("B3:C" & DerLig & ",H3:H" & DerLig)
    Plage.Copy
     Workbooks.Add
     ActiveSheet.Paste
     Application.CutCopyMode = False
     ActiveWorkbook.SaveAs Filename:=NomEtCheminFichier, FileFormat:=xlCSV, CreateBackup:=False
     ActiveWindow.Close
 End Sub
 
Re : Macro VBA : Exporter données en .csv

Super, ça marche ! Vous êtes vraiment incroyable pour la rapidité et la justesse de vos réponses !

Du coup j'en profite pour vous demander une dernière chose par rapport à ce code :

Je voudrais, qu'avant de créer l'export en question :

- que certains caractères des colonnes B ET C soient remplacés par d'autres caractères. (Exemple "é","è","ë" remplacés par "e" ; "ç" par "c" ou encore "-" par " ")
- que certain caractères de la colonne H soient remplacés par d'autres caractères (mais pas les mêmes règles que pour la colonne que les colonne H)

Ceci, afin de pouvoir garder les caractères "spéciaux" dans le fichier donees.xls

Pouvez-vous ajouter les lignes de codes permettant cela. J'adapterai le code avec les caractères que je souhaite remplacer....
 

Pièces jointes

Re : Macro VBA : Exporter données en .csv

une solution facile à mettre en oeuvre :

Nom = Replace(Nom, "É", "E")
Nom = Replace(Nom, "Ñ", "N")
Nom = Replace(Nom, "â", "a")
Nom = Replace(Nom, "ä", "a")
Nom = Replace(Nom, "á", "a")
Nom = Replace(Nom, "ê", "e")
Nom = Replace(Nom, "ë", "e")
Nom = Replace(Nom, "é", "e")
Nom = Replace(Nom, "è", "e")
Nom = Replace(Nom, "ï", "i")
Nom = Replace(Nom, "í", "i")
Nom = Replace(Nom, "ö", "o")
Nom = Replace(Nom, "ü", "u")
 
- 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

Discussions similaires

Réponses
4
Affichages
1 K
Réponses
16
Affichages
2 K
Réponses
20
Affichages
3 K
Réponses
1
Affichages
685
Retour