Vba Excel2007 - Exporter feuilles en CSV

Palteza Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 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
A voir également:

3 réponses

Palteza Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   3
 
Désolé mais je remonte mon topic
0
Palteza Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   3
 
Nouvelle tentative
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
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
0