suppression de toutes les feuilles à la fermeture

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

T

toubib

Guest
bonjour à tous,

je souhaiterais savoir comment faire pour supprimer toutes les feuilles d'un classeur hormi une et ce à la fermeture du fichier?

merci 🙂
 
Bonjour Toubib, bonjour le forum,

Cette macro événementielle à placer dans le composant ThisWorkbook de VBE. Penses à modifier le nom de la feuille à garder :


Private Sub Workbook_BeforeClose(Cancel As Boolean) 'à la fermeture du classeur
Dim Ws As Worksheet 'déclare la variable Ws
Application.DisplayAlerts = False
For Each Ws In Sheets
'remplace 'Feuil1' par le nom de la feuille qui doit rester
If Not Ws.Name = 'Feuil1' Then Ws.Delete
Next Ws
ActiveWorkbook.Save
Application.DisplayAlerts = True
End Sub
 
Re:suppression de toutes les feuilles à la fermetu

Bonjour,

A priori, dans le module de classe thisworkbook, sous l'evenement beforeclose, il suffit de mettre une procédure du type

For each Feuille in ZeClasseur
if Feuille.name <> 'celle que je garde' then feuille.delete
next

ouala
A+

edit : han ! voila.. on traverse sans regarder et on se retrouve sous un Robert :sick: ... 🙂 😉

Message édité par: 2passage, à: 30/08/2005 16:54
 
Bonjour le fil, bonjour le forum,

Toubib, s'il te plaît, fait un copier/coller de ton code et indique-nous la ligne surlignée de jaune quand ça plante. Je me demande si quand tu as modifié le nom de l'onglet tu n'aurais pas supprimé les guillemets... Mais ce n'est qu'une supposition.
 
voila le code et la igne surlignée

Private Sub Workbook_BeforeClose(Cancel As Boolean) 'à la fermeture du classeur
Dim Ws As Worksheets 'déclare la variable Ws
Application.DisplayAlerts = False
For Each Ws In Sheets
'remplace 'Feuil1' par le nom de la feuille qui doit rester
If Not Ws.Name = 'données' Then Ws.Delete
Next Ws
ActiveWorkbook.Save
Application.DisplayAlerts = True

End Sub

Message édité par: toubib, à: 31/08/2005 12:23
 
la vérité est vraiment ailleurs parce que même sans le s ca ne marche pas et ca bloque toujours au même endroit, c'est moi qui avait rajouté le s au cas où ca changerait qqchose mais non et j'ai oublié de l'enlever c'est pour ça

enfin ca marche pas, pourquoi tant de haine? :angry:
 
Bonjour,
il faut que le mon de ta feuille soit exactement le même( majuscule, accent) et en principe cela doit marcher. envoie ton fichier tel quel pour que je puisse l'essayer sur mon pc pour vérifier l'erreur
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
230
Réponses
9
Affichages
241
Réponses
5
Affichages
461
Retour