Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sélectionner plusieurs feuilles en VBA

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

Chasse

XLDnaute Occasionnel
Bonjour le forum


J’ai besoin de sélectionner les feuilles, de la 1er à l’avant avant dernière pour les supprimer ensemble. Sachant que le n° de la 1ière feuille ou le nom ne sont jamais les mêmes .

J’ai trouvé comment sélectionner l’avant avant dernière
Code:
Sheets(Worksheets.Count - 2).Select
Merci de votre aide
 
Re : Sélectionner plusieurs feuilles en VBA

Bonjour
Voici un bout de code à adapter
Selecter plusieurs feuilles

Sub SelectFeuillesSauf()
Application.ScreenUpdating = False
Sheets(1).Select
For i = 1 To Sheets.Count -2
Sheets(i).Select (False)
Next
End Sub
Cordialement
flyonets
 
Re : Sélectionner plusieurs feuilles en VBA

Bonjour Chasse, flyonets44,
Une proposition par boucle (PierreJean avait fait quelque chose de beaucoup mieux, mais je n'arrive plus à le retrouver 😱)
VB:
Sub Del_Shts()
With Application: .ScreenUpdating = False: .DisplayAlerts = False: End With
For i = Sheets.Count - 2 To 1 Step -1
    Sheets(i).Delete
Next i
With Application: .ScreenUpdating = True: .DisplayAlerts = True: End With
End Sub
Cordialement
 
Re : Sélectionner plusieurs feuilles en VBA

Bonjour flyonets

Merci beaucoup c'est tout à fait ce que je voulais

Mais poudrais-tu éclairer ma lanterne, a quoi serre le code
Code:
 Application.ScreenUpdating = False
Merci et bonne après-midi
 
Re : Sélectionner plusieurs feuilles en VBA

Bonjour
à mettre systématiquement en début de macro si tu n'utilses pas les userform ou boite de dialogue
cà sert à désactiver la mise à jour de l'écran ce qui accélère considérablement la vitesse d'éxécution du code.
Cordialement
Flyonets
 
Re : Sélectionner plusieurs feuilles en VBA

Salut,j'ose espérer que l'utilisateur ne déplacera pas les feuilles car le résultat pourrait être catastrophique
Il faut introduire un test excluant les feuilles à préserver,et pour cela utiliser la propriété CodeName de ces feuilles
ce qui aura l'avantage de ne pas avoir à modifier le code VBA,même si l'utilisateur ajoute des feuilles,les déplace ou renomme les onglets voir pour cela VBA Les bases [Résolu] - Forum des professionnels en informatique
 
Dernière édition:
Re : Sélectionner plusieurs feuilles en VBA

Bonjour flyonets44, Efgé, kiki 29

flyonets44 merci pour tes explications.

Mais je n’arrive toujours pas à mettre la commande Delete

Bonjour Efgé

Ton code fonctionne super seulement je suis devant le fait accompli
Alors comme nous le fait remarqué kiki 29
si l'utilisateur ajoute des feuilles ou les déplaces.
C’est pourquoi pour autant que j’ arrive a mettre la commande delete que je vais adopte le code de flyonets

Merci a tous et bonne fin de journée
 
Re : Sélectionner plusieurs feuilles en VBA

Re à tous, Bonjour kiki29,
Le code que j'ai proposeé est sensiblement le même code que celui de flyonets44 (les Selects inutiles en moins et en tournant dans le bon sens...)
Quelques soit le code que tu choisira, le problème soulevé par kiki29 restera entier.
Si tu veux éviter ce piège il aut utiliser le nom des feuilles (si tes utilisateurs ne les rennoment pas🙄):
Un exemple
VB:
Sub Del_Shts_2()
With Application: .ScreenUpdating = False: .DisplayAlerts = False: End With
For Each F In Worksheets
    If F.Name <> "Toto" And F.Name <> "Tata" Then F.Delete
Next F
With Application: .ScreenUpdating = True: .DisplayAlerts = True: End With
End Sub
Maintenant, on peux aussis s'appuyer, comme le préconise kiki29, sur le code name de la Feuille et là dans le lien proposé tu as tout ce qu'il te faut..
Bon courage
Cordialement
 
Re : Sélectionner plusieurs feuilles en VBA

Re.

Le problème est que j’aimerais voir les feuilles sélectionnées avant de confirmer la suppression.

Code:
Sub SelectFeuillesSauf()
Application.ScreenUpdating = False
Sheets(1).Select
For i = 1 To Sheets.Count - 2
Sheets(i).Select (False)
Next

ActiveWindow.SelectedSheets.Delete
End Sub
Si j’annule la suppression là je les vois

Encore un grand MERCI pour vos conseilles
 
- 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

Discussions similaires

Réponses
40
Affichages
2 K
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
748
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…