Macro pour exporter chaque onglet d'un classeur dans des feuilles isolées

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

bast0504

XLDnaute Occasionnel
Bonjour

Existerait il une macro qui exporterait tous les onglets d'un classeur dans des feuilles à part ? (Onglet 1 dans une feuille, onglet 2 dans une feuille ....)

Merci
 
Re : Macro pour exporter chaque onglet d'un classeur dans des feuilles isolées

Bonjour,

regarde peut être le code ci-dessous, fera une copie de chaque feuille du classeur actif, ce qui donnera autant de classeur... A voir si c'est cela que tu veux... sans plus de détails ....
Code:
Option Explicit
Sub test()
Dim ws As Worksheet
For Each ws In Worksheets
    ws.Copy
Next ws
End Sub

bon après midi
@+
 
Re : Macro pour exporter chaque onglet d'un classeur dans des feuilles isolées

Bonjour Pierrot

La macro fonctionne à merveille mais deux remarques:
- Les onglets perdent leurs titres et son renommé classeur
- les macros pré-enregistrées affectées aux onglets disparaissent,

comment remédier à ces problèmes

Merci encore
 
Re : Macro pour exporter chaque onglet d'un classeur dans des feuilles isolées

Re,

Ce que j’appelle le titre d'un onglet c'est le nom que je lui donne, effectivement tu as raison le nom donné précédemment à l'onglet est recopié, je pensais qui pouvais le donner aussi comme titre à mon classeur.(le code je l'ai mis dans This workbook au lieu de module)

Comment remédier sinon à mon problème de classeur ?

Merci
 
Re : Macro pour exporter chaque onglet d'un classeur dans des feuilles isolées

Re,

regarde ceci, pour un enregistrement dans le répertoire courant :
Code:
Option Explicit
Sub test()
Dim ws As Worksheet
For Each ws In Worksheets
    ws.Copy
    ActiveWorkbook.SaveAs ActiveSheet.Name
Next ws
End Sub
 
Re : Macro pour exporter chaque onglet d'un classeur dans des feuilles isolées

Bonjour

Merci pierrot pour ta réponse

Comment je pourrais conserver lors de mon export les codes utilisés par mon onglet comme celui afférent à mon bouton, car les macros pré-enregistrées affectées aux onglets disparaissent lors de l'export ?

Merci
 
Re : Macro pour exporter chaque onglet d'un classeur dans des feuilles isolées

Bonjour bast0504, salut Pierrot 🙂

Pour tester le fichier joint, le télécharger d'abord (sur le bureau).

Voyez cette macro dans Module1 (Alt+F11) :

Code:
Sub CreerFichiers()
Dim chemin$, w As Workbook, s As Object
chemin = ThisWorkbook.Path & "\" 'à adapter
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
'---fermeture des fichiers ouverts---
For Each w In Workbooks
  If w.Name <> ThisWorkbook.Name Then w.Close
Next
'---création des fichiers---
For Each s In Sheets
  ThisWorkbook.SaveAs chemin & s.Name, ThisWorkbook.FileFormat
Next
'---supression des feuilles---
For Each w In Workbooks
  For Each s In w.Sheets
    If Not w.Name Like s.Name & ".xls*" Then s.Delete
  Next
  w.Save
  If w.Name <> ThisWorkbook.Name Then w.Close 'fermeture
Next
Application.Quit 'fermeture d'Excel
End Sub
Module1 et ses macros se retrouvent dans les fichiers créés.

C'est de l'artillerie lourde 🙄

A+
 

Pièces jointes

Dernière édition:
Re : Macro pour exporter chaque onglet d'un classeur dans des feuilles isolées

Re,

Au temps pour moi, j'avais oublié de rouvrir les fichiers créés :

Code:
'---réouverture des fichiers---
For Each s In Sheets
  If Not ThisWorkbook.Name Like s.Name & ".xls*" Then _
    Workbooks.Open chemin & s.Name & _
    Mid(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, "."))
Next
C'est bien laborieux, et l'exécution est bien longue...

Fichier (2).

A+
 

Pièces jointes

Re : Macro pour exporter chaque onglet d'un classeur dans des feuilles isolées

Bonsoir

Par inattention j'ai exécuté la macro sans spécifié le lieu d'enregistrement des fichiers, dans cas où les fichiers s'enregistrent t ils pas défaut ?

Merci
 
Re : Macro pour exporter chaque onglet d'un classeur dans des feuilles isolées

Bonjour bast, Job🙂

Par inattention j'ai exécuté la macro sans spécifié le lieu d'enregistrement des fichiers, dans cas où les fichiers s'enregistrent t ils pas défaut ?

dans ce cas l'enregistrement est fait dans le répertoire courant.... (celui où tu accèdes quand tu fais "ouvrir" ou "enregistrer sous"

bonne journée
@+
 
Re : Macro pour exporter chaque onglet d'un classeur dans des feuilles isolées

Bonjour le fil, le forum,

Sur Excel 2010 et avec un fichier .xlsm ma macro plantait Excel.

Je découvre qu'il faut alors activer chaque fichier avant de supprimer les feuilles :

Code:
Sub CreerFichiers()
Dim chemin$, exten$, w As Workbook, s As Object
chemin = ThisWorkbook.Path & "\" 'à adapter
exten = Mid(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, "."))
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next 'si caractères interdits pour les noms de fichiers
'---fermeture des fichiers ouverts---
For Each w In Workbooks
  If w.Name <> ThisWorkbook.Name Then w.Close
Next
'---création des fichiers---
For Each s In Sheets
    s.Visible = True 'sécurité
    ThisWorkbook.SaveAs chemin & s.Name, ThisWorkbook.FileFormat
Next
'---réouverture des fichiers---
For Each s In Sheets
  If ThisWorkbook.Name <> s.Name & exten Then _
    Workbooks.Open chemin & s.Name & exten
Next
'---supression des feuilles---
For Each w In Workbooks
  w.Activate 'pour Excel 2010
  For Each s In w.Sheets
    If w.Name <> s.Name & exten Then s.Delete
  Next
  w.Save
  If w.Name <> ThisWorkbook.Name Then w.Close 'fermeture
Next
Application.Quit 'fermeture d'Excel
End Sub
Fichiers .xls et .xlsm joints.

A+
 

Pièces jointes

- 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
43
Affichages
804
Réponses
7
Affichages
262
Réponses
5
Affichages
698
Retour