Vba Excel2007 - Exporter feuilles en CSV [Fermé]

Signaler
Messages postés
79
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
6 septembre 2014
-
Messages postés
24023
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 avril 2021
-
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

3 réponses

Messages postés
79
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
6 septembre 2014
3
Désolé mais je remonte mon topic
Messages postés
79
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
6 septembre 2014
3
Nouvelle tentative
Messages postés
24023
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 avril 2021
6 744
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