suppression de toutes les feuilles à la fermeture

  • Initiateur de la discussion toubib
  • Date de début
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 :)
 

Robert

XLDnaute Barbatruc
Repose en paix
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
 

2passage

XLDnaute Impliqué
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
 

Robert

XLDnaute Barbatruc
Repose en paix
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.
 
T

toubib

Guest
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
 
T

toubib

Guest
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:
 
D

DIDIER09

Guest
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+
 

Discussions similaires

Réponses
12
Affichages
403

Statistiques des forums

Discussions
312 884
Messages
2 093 244
Membres
105 658
dernier inscrit
Mario Richard