Comment enregistrer une feuille par classeur avec une macro

Résolu
Bonjour,

J'ai une dizaine de fichiers Excel contenant chacun une centaine de feuilles environ. J'aimerais réenregitrer chacune de ces feuilles dans un classeur distinct qui aurait le même titre que la feuille.
Je connais la méthode pour faire cette opération une feuille à la fois, mais j'en ai plus de mille à faire.
Quelqu'un connaîtrait-il une macro pour réaliser cette opération?
Merci à l'avance

1 réponse

  1. Modérateur
    Bonjour,

    Cette macro enregistre chaque feuille de ton classeur dans le même répertoire que celui-ci.
    Attention toutefois, si des feuilles de deux classeurs ont le même nom.....
    Sub EnregistreChaqueFeuille()
    Dim Chemin As String, feuille As Worksheet
    For Each feuille In ThisWorkbook.Worksheets
        feuille.Copy
        With ActiveWorkbook
            .SaveAs Chemin & feuille.Name
            .Close
        End With
    Next
    End Sub
    0
    1. Merci pour ta macro. Je viens de l'essayer. Elle fonctionne. Malheureusement, elle enregistre tous les fichiers dans le dossier Mes documents
      0
    2. Modérateur
      Ben oui.
      J'ai oublié une ligne de code....
      Pfff désolé!
      Sub EnregistreChaqueFeuille()
      Dim Chemin As String, feuille As Worksheet
      Chemin = ThisWorkbook.Path & "\"
      For Each feuille In ThisWorkbook.Worksheets
          feuille.Copy
          With ActiveWorkbook
              .SaveAs Chemin & feuille.Name
              .Close
          End With
      Next
      End Sub
      0
    3. Super! Ça fonctionne à merveille.

      Merci!
      0
    4. Modérateur
      Mais de rien.
      A+ n'hésite pas.
      0