Supprimer toutes les feuilles sauf la première

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

Toug

Guest
Bonjour,
Pour initialiser ma macro je voudrais supprimer toutes les feuilles sauf la première qui me sert de base.
J'ai écrit un code, mais ça ne semble pas marcher, je ne comprend pas pourquoi:
Code:
Application.DisplayAlerts = False
Dim wSheets As Worksheet
For i = 2 To 10

    On Error Resume Next
    Set wSheet = Sheets(i)
    If wSheets Is Nothing Then
        MsgBox "Nexistepas" & i
    Else
        Sheets(i).Delete
    End If
Next i

End Sub
Avec ce code, j'ai l'impression que les feuilles n'existent pas, dois y avoir une mauvaise syntaxe quelque part.

Merci d'avance.
 
Re : Supprimer toutes les feuilles sauf la première

Bonjour DoubleZero

(...) une subtilité qui, malheureusement 😱, m'échappe !

Pour mieux comprendre exécute successivement ces 2 macros :

Code:
Sub Macro1()
Application.DisplayAlerts = False
MsgBox "DisplayAlerts => " & Application.DisplayAlerts
End Sub

Sub Macro2()
MsgBox "DisplayAlerts => " & Application.DisplayAlerts
End Sub

Avec Application.ScreenUpdating c'est pareil, mais attention, quand on est sur des UserForms il faut parfois rafraîchir l'écran à la fin de la macro.

Enfin avec Application.EnableEvents = False il faut toujours remettre à True avant la fin de la macro.

A+
 
Re : Supprimer toutes les feuilles sauf la première

Bonjour à tous 🙂

Les remarques de job sont tout à fait vraies, mais comme j'éteins la lumière en sortant des toilettes, je préfère systématiquement réactiver ce que j'ai désactivé...
Un choix personnel que je n'impose à personne 😉
 
Re : Supprimer toutes les feuilles sauf la première

Bonjour tototiti 🙂

(...) j'éteins la lumière en sortant des toilettes

Bill a prévu des toilettes dont la lumière s'éteint automatiquement quand on sort 🙂

Une précision encore sur les macros d'un UserForm.

Quand il est ouvert en mode normal (modal), DisplayAlerts ou ScreenUpdating ne passent pas automatiquement à True tant que l'UserForm est ouvert.

En effet la macro où se trouve UserForm1.Show ne se termine qu'à la fermeture de l'UserForm.

A+
 
Re : Supprimer toutes les feuilles sauf la première

Re,

Bill a prévu des toilettes dont la lumière s'éteint automatiquement quand on sort 🙂

Me méfie de ces toilettes avec les lumières automatiques, j'ai connu des toilettes (de vraies, ce n'est pas une image) où si on ne remuait pas assez en étant sur le trône la lumière s'éteignait automatiquement 😀
Mais encore une fois
Un choix personnel que je n'impose à personne 😉
 
Re : Supprimer toutes les feuilles sauf la première

Bonjour, le Fil, le Forum,

Le test proposé par job75 (post #17) ne me permet encore pas de comprendre la subtilité 😕.

Je garderai donc ma coiffe d’âne(sse) 😱.

Quoi qu’il en soit, je vous remercie, job75 🙂 et tototiti2008 🙂, pour vos réponses respectives.

A bientôt 😀.
 
Re : Supprimer toutes les feuilles sauf la première

Re,

Le test proposé par job au message #17 est de coller le code des 2 Macros (Macro1 et Macro2) dans un module
Exécuter Macro1
On voit que Displayalerts a été désactivé
Exécuter Macro2
On voit que Displayalerts a été automatiquement réactivé à la fin de Macro1
 
Re : Supprimer toutes les feuilles sauf la première

Bonjour Toug,
Quand on supprime quelque chose (lignes, colonnes, feuilles, etc...) il est préférable de commencer par la fin en remontant (step - 1):
VB:
Sub SuprFeuille()
Application.DisplayAlerts = False
For i = ThisWorkbook.Sheets.Count To 2 Step -1
    Sheets(i).Delete
Next i
Application.DisplayAlerts = True
End Sub
Cordialement

Merci j'ai utilisé ton code, ça fonctionne nickel.
 
- 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
5
Affichages
915
Réponses
4
Affichages
736
Réponses
3
Affichages
882
Réponses
3
Affichages
879
Réponses
9
Affichages
884
Réponses
4
Affichages
715
Retour