Créer un classeur par feuille

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

FaridP

XLDnaute Occasionnel
Bonjour à toutes et à tous,

J'essaie de créer un classeur pour chacune des feuilles de mon document mais les fichiers créés sont vides, je ne vois pas ce qui cloche dans mon code car je suis passé par l'enregistreur de macros, pourriez-vous m'aider ou me mettre sur la voie ?
VB:
Sub CreateFic()

Dim Ws As Worksheet
Dim NomFic As String
Application.DisplayAlerts = False

For Each Ws In ThisWorkbook.Worksheets

NomFic = Ws.Name

    Cells.Copy
    Workbooks.Add
    Cells.Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ChDir "C:\Test"
    ActiveWorkbook.SaveAs Filename:="C:\Test\" & NomFic & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
  
Next Ws

Application.DisplayAlerts = True

End Sub

Merci pour votre aide et bonne fin de journée,

Farid 🙂😉
 
Bonjour.
Essayez comme ça :
VB:
Sub CreateFic()
Dim Wsh As Worksheet
ChDrive "C": ChDir "C:\Test"
For Each Wsh In ThisWorkbook.Worksheets
   Workbooks.Add
   Wsh.Cells.Copy Destination:=ActiveSheet.[A1]
   ActiveWorkbook.SaveAs Filename:=Wsh.Name & ".xlsx", _
      FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
   ActiveWorkbook.Close SaveChanges:=True
   Next Wsh
End Sub
 
Je viens d'essayer depuis un autre poste sur lequel les classeurs n'avaient jamais été créés et même résultat : fichier vide. 🙁

Par acquis de conscience, j'ai même testé avec un nouveau classeur contenant uniquement 1 ligne de données et pareil.
 
Dernière édition:
C'est bon, j'ai réussi en modifiant très légèrement le code ! 😀
VB:
Sub CreateFic()

Dim Wsh As Worksheet
ChDrive "C": ChDir "C:\Test"

For Each Wsh In ThisWorkbook.Worksheets
   
    Wsh.Copy
    ActiveWorkbook.SaveAs Filename:=Wsh.Name & ".xlsx", _
      FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWorkbook.Close SaveChanges:=True

Next Wsh

End Sub

Merci beaucoup car sans votre aide, je serais bon pour le faire à la main. 😉🙂
 
- 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
6
Affichages
1 K
Retour