Comment supprimer des feuilles temporaires
clem
-
clem -
clem -
Bonjour,
J'ai un fichier excel dans lequel je viens créer des feuilles temporaires lorsque je lance mes calculs, je voudrais faire une macro qui a la fin de mes calculs supprime les feuilles temporaires,
Mon idée etait de faire une macro qui supprime toutes les feuilles sauf celles qui ne sont pas temporaires, en les verrouillant ou en mettant une sécurité dessus, quelqu'un aurait une idée ??
Merci d'avance
clem
J'ai un fichier excel dans lequel je viens créer des feuilles temporaires lorsque je lance mes calculs, je voudrais faire une macro qui a la fin de mes calculs supprime les feuilles temporaires,
Mon idée etait de faire une macro qui supprime toutes les feuilles sauf celles qui ne sont pas temporaires, en les verrouillant ou en mettant une sécurité dessus, quelqu'un aurait une idée ??
Merci d'avance
clem
1 réponse
-
Salut,
!!! Attention ce code contient un .Delete!! A tester sur une copie de votre classeur
Supprime les feuilles répertoriées dans le Array : "Feuil3", "Feuil4", "Feuil5" et "Feuil6" seront donc supprimées...Sub SupprFeuilTemp() Dim FeuilTemp As Variant For Each FeuilTemp In Array("Feuil3", "Feuil4", "Feuil5", "Feuil6") Application.DisplayAlerts = False With Sheets(FeuilTemp) .Delete End With Application.DisplayAlerts = True Next End Sub
Franck P-
-
Bonjour, (parce que c'est bien de le dire!)
De rien pour la réponse.
Voici un autre code alors :Sub SupprFeuillesNonProtegees() Dim Feuilles As Worksheet For Each Feuilles In ThisWorkbook.Worksheets If IsSheetProtected(Feuilles.Name) = False Then 'Application.DisplayAlerts = False Sheets(Feuilles.Name).Delete 'Application.DisplayAlerts = True End If Next End Sub 'sources http://www.codyx.org/snippet_tester-si-feuille-excel-est-protegee_846.aspx Function IsSheetProtected(ByVal sSheetName As String) As Boolean With Worksheets(sSheetName) IsSheetProtected = (.ProtectContents Or .ProtectDrawingObjects Or .ProtectScenarios) End With End Function
1- si tu es sure de toi (et de moi...) et que tu ne veux plus des messages d'alerte, suffit de passer les lignes 'Application.DisplayAlerts = False et 'Application.DisplayAlerts = True en ligne de code (supprime les ' devant)
2- On ne le dira jamais assez : Ce code contient un .Delete, à tester sur une copie de fichier
3- les sources de la fonction sont citées dans le code...
A+ -
-