Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Creation des classeurs

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

biba78

XLDnaute Junior
Bonjour à tous,
j'ai besoin de votre aide 🙂
j'ai la macro ci-dessous qui me permet de créer des classeurs de tous les onglets disponible dans mon fichier.
j'ai besoin de modifier le code, pour permettre la création des classeurs A, B, C, D .....( ect), mais pas la création des classeurs Menu et Liste .

En vous remerciant par avance
Cordialement





Sub classeurs()
For Each feuille In ActiveWorkbook.Sheets
feuille.Copy
With ActiveWorkbook
.Title = feuille.Name
.Subject = feuille.Name
.SaveAs Filename:=feuille.Name + ".xls"
End With
Next
End Sub
 

Pièces jointes

Bonjour Biba, bonjour le forum,

Essaie comme ça :

VB:
Sub classeurs()

For Each feuille In ActiveWorkbook.Sheets

    Select Case feuille.Name 'agit en fonction du nom de l'onglet "feuille"

        Case "Menu", "Liste" 'cas "Menu" et "Liste", ien ne se passe

        Case Else 'tous les autres cas

            feuille.Copy

            With ActiveWorkbook

                .Title = feuille.Name

                .Subject = feuille.Name

                .SaveAs Filename:=feuille.Name + ".xls"

            End With

    End Select

Next

End Sub
 
Bonjour biba78, Robert, Jean-Claude,

Commencez par enlever l'espace superflu à la fin du nom de l'onglet "Menu ".

Ensuite vous pouvez lancer la macro :
Code:
Sub classeurs()
Dim feuille As Object
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si un fichier a déjà été créé
For Each feuille In Sheets
  If feuille.Name <> "Menu" And feuille.Name <> "Liste" Then
    feuille.Visible = xlSheetVisible 'si la feuille a été masquée
    feuille.Copy
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & feuille.Name, _
      FileFormat:=IIf(Val(Application.Version) < 12, -4143, 56)
    ActiveWorkbook.Close
  End If
Next
End Sub
Le FileFormat pour obtenir un fichier .xls diffère suivant la version Excel utilisée.

A+
 
- 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
5
Affichages
830
Réponses
9
Affichages
475
Réponses
7
Affichages
408
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…