Vba Excel2007 - Exporter feuilles en CSV
Palteza
Messages postés
82
Statut
Membre
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous
Je possède un code pour exporter une feuille, et une seule, d'un classeur vers un nouveau fichier csv
Cependant je voudrais pouvoir en exporter plusieurs à la fois sur une seule macro.
Sur le code qui suit, on ne peut pas ajouter basiquement d'autres feuilles (il affiche alors l'erreur "L'indice n'appartient pas à la sélection" sur la ligne de la nouvelle feuille copiée). Il semble ne marcher que pour une seule feuille.
Si quelqu'un à la solution ça serait cool. Merci d'avance
Sub Bouton72_Clic()
Sheets("Données_Statistiques").Visible = True
Sheets("Données_Statistiques").Copy
ActiveWorkbook.SaveAs Filename:= _
"c:\BDD_Enquêtes.csv", FileFormat:=xlCSV _
, CreateBackup:=False
End Sub
Je possède un code pour exporter une feuille, et une seule, d'un classeur vers un nouveau fichier csv
Cependant je voudrais pouvoir en exporter plusieurs à la fois sur une seule macro.
Sur le code qui suit, on ne peut pas ajouter basiquement d'autres feuilles (il affiche alors l'erreur "L'indice n'appartient pas à la sélection" sur la ligne de la nouvelle feuille copiée). Il semble ne marcher que pour une seule feuille.
Si quelqu'un à la solution ça serait cool. Merci d'avance
Sub Bouton72_Clic()
Sheets("Données_Statistiques").Visible = True
Sheets("Données_Statistiques").Copy
ActiveWorkbook.SaveAs Filename:= _
"c:\BDD_Enquêtes.csv", FileFormat:=xlCSV _
, CreateBackup:=False
End Sub
Configuration: Windows XP Firefox 3.0.5
3 réponses
-
-
-
Bonjour,
Comme tu ne précises pas si toutes les feuilles doivent être enregistrées et que de plus le nom de fichier est différent du nom d'onglet je te propose ceci :
-le nom_de_fichier.csv voulu doit se trouver dans une cellule de la feuille (ici A1)
-sélectionner les feuilles concernées avant de lancer la macro (clic su r le 1er onglet, shift+clic sur le dernier, ctrl+clic pour sélectionner/déselectionner les onglets individuellement)
code à mettre dans un module :Sub copyCSV() Dim ws As Worksheet For Each ws In ActiveWorkbook.Windows(1).SelectedSheets fich = "D:\" & ws.[A1].Value ws.SaveAs Filename:=fich, FileFormat:=xlCSV, CreateBackup:=False Next ws End Sub
eric