supprimer feuilles

  • Initiateur de la discussion alexandra
  • Date de début
A

alexandra

Guest
bonjour j'ai dans un classeur plusieurs feuilles feuil1,feuil2, feuil3
lorsque je click sur une valeur d'un tableau croisé dynamique j'ai un nouvelle feuille qui apparait avec le détail des données de cette valeur (données depuis une base de données).
Je veux que lorsque je ferme mon classeur, mon classeur contienne mes feuilles initiales (feuil 1, Feuil2, Feuil 3) et supprime toutes les autres
Mille merci
a plus
 
@

@+Thierry

Guest
Salut Alexandra, le Forum

Voici un code à mettre dans le Private Module de ThisWorkBook qui se déclenchera automatiquement à la fermeture de ton classeur :


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim WS As Worksheet

Application.DisplayAlerts = False
For Each WS In Sheets
Select Case WS.Name
Case "Feuil1", "Feuil2", "Feuil3"
Case Else
WS.Delete
End Select
Next

Application.DisplayAlerts = True
ThisWorkbook.Save
End Sub


Bon Aprèm
@+Thierry
 
A

alexandra

Guest
Merci beaucoup pour ton aide. J'ai une autre question cependant la dernière fois, tu m'a aider à créer un classeur contenant 1 seule feuille avec un nom incrémenter.
Le problème c'est que cela me créer un classeur nommé classeur 1 puis classeur 2 etc .(voir fichier joint)
Donc à chaque fois il faut que je n'enregistre pas ces classeurs.
comment les faire disparaitre
mille merci
 

Pièces jointes

  • fichier1.zip
    13.3 KB · Affichages: 12
  • fichier1.zip
    13.3 KB · Affichages: 12
  • fichier1.zip
    13.3 KB · Affichages: 9
@

@+Thierry

Guest
Re Alexandra, Delphine, Giselle (!)

Je ne peux télécharger de pieces jointes actuellement depuis la machine où je me trouve (Sécurity).

Néamoins, je ne saisis plus rien ? par rapport à ta demande initiale Lien supprimé que veux-tu faire alors ? juste enregistrer une feuille ? ou bien copier une feuille à l'intérieur du même classeur ? car là je n'ai pas le temps de te faire à nouveau une démo, j'ai un meeting.

Dans mon classeur d'origine "MyWorkBookMakingBackUp.xls" essaie cette macro qui crééra une copy de la feuille "Matrix" incrémentée avec un numéro à chaque Run :

Const MyName As String = "BackUp-V"

Sub CopieAndNameSheetIncremental()
Dim WS1 As Worksheet, WS2 As Worksheet

Dim MyNumber As Byte

Set WS1 = Sheets("MATRIX")
Set WS2 = Sheets("Interface")
MyNumber = WS2.Range("K11")


WS1.Copy after:=Worksheets(Sheets.Count)
Sheets(Sheets.Count).Name = MyName & Format(MyNumber, "000")

WS2.Range("K11") = MyNumber + 1
End Sub

Bon Aprèm
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 636
Messages
2 090 379
Membres
104 514
dernier inscrit
eseo