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

Supprimer des feuilles à partir d'un numéro

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

sellig 29

XLDnaute Occasionnel
Bonsoir à tous,

J'aimerais avoir un code VBA qui me permette de supprimer toutes les feuilles à partir d'un N°. De Feuil7 (par exemple) à Feuil..... selon le nombre de feuille créé (le nombre n'est pas toujours le même).
Merci d'avance pour votre aide
 
Re : Supprimer des feuilles à partir d'un numéro

Bonjour à tous,

Peux-tu essayer avec :

Code:
Option Explicit

Sub Supprime()
Dim Deb As Integer, Fin As Integer
Dim X As Integer

Deb = Feuil1.Range("B1")
Fin = Feuil1.Range("B2")
For X = Deb To Fin
On Error Resume Next
Application.DisplayAlerts = 0
Sheets(X).Delete
Next X
Application.DisplayAlerts = 1
Feuil1.Activate
End Sub

A+ à tous
 

Pièces jointes

Re : Supprimer des feuilles à partir d'un numéro

bonsoir Selig, Jean-Claude🙂

une autre solution, pour peu que j'ai bien compris ...

Code:
Dim i As Byte
Application.DisplayAlerts = False
For i = Sheets.Count To 3 Step -1
    Sheets(i).Delete
Next i
Application.DisplayAlerts = True

bonne soirée
@+
 
Re : Supprimer des feuilles à partir d'un numéro

Bonjour sellig 29, JCGL,

Une macro un peu différente.

Pour l'exemple, mettre dans la feuill "Feuil1", en cellule "A1", le nombre de feuilles à sauvegarder dans la suppression des feuilles. Les feuilles à sauvegarder étant les premiers onglets.

Sub SupprFeuille()
Dim i As Integer, Sauvegarde As Integer

Sauvegarde = Sheets("Feuil1").Range("A1").Value
For i = Sheets.Count To 1 Step -1
If i > Sauvegarde Then
Application.DisplayAlerts = False
Sheets(i).Delete
Application.DisplayAlerts = True
End If
Next i
End Sub
 
Re : Supprimer des feuilles à partir d'un numéro

J'ai essayé mais si je rajoute des feuilles exel cesse de fonctionner et se ferme! 🙁
L'idéal serait un code qui supprime les feuilles au dela d'un N° prédéfini sans est contraint de renseigner des cellules sur le nombre de feuilles à supprimer.
 
Re : Supprimer des feuilles à partir d'un numéro

Ma réponse #5, concernait JCGL
Pierrot 93 OK mais nombre de feuilles supprimées limité à 6
CBernardT la macro supprime également la feuille 1 lorsque je l'exécute
 
Re : Supprimer des feuilles à partir d'un numéro

Bonjour à tous,

Les suggestions que vous m'avez faites ne me conviennent pas entièrement car il reste toujours le risque de supprimer une feuille non souhaitée selon sa disposition. (Je n'ai pas réussi à mettre en oeuvre la proposition de carcharodon-carcharias, je n'ai pas tout compris😱).
Entre temps, j'ai trouvé un code qui correspond à mon souhait, toutefois, il sauvegarde les feuilles en fonction du nom de l'onglet: si l'onglet est renommé, ça ne fonctionne plus🙁.
Je joins le fichier, je souhaiterais, si c'est possible, pouvoir adapté ce code VBA au N° de la feuille à la place du nom qui lui est attribué.
Dans l'exemple les feuilles "ttt" et "qqqqq" sont sauvegardées, j'aimerai qu'elles soient tjs sauvegardées mais par rapport à leur N° soit: Feuil1 et Feuil5, ainsi il n'y aura plus d'incidence si elles étaient renommées par la suite.

Sub Supprimer()
Dim sh As Worksheet
For Each sh In Worksheets
If sh.Name <> "ttt" And sh.Name <> "qqqqq" Then
Application.DisplayAlerts = False
sh.Delete
End If
Next sh
End Sub

Merci d'avance pour votre aide
 

Pièces jointes

Re : Supprimer des feuilles à partir d'un numéro

Bonjour sellig 29,

Dans le cas où certaines feuilles d’un classeur à sauvegarder peuvent changer d'appellation, il faut utiliser leur nom en tant qu'objet des objets Excel.

La syntaxe devient :

Sub Supprimer()
Dim sh As Worksheet
Application.DisplayAlerts = False
For Each sh In Worksheets
If sh.Name <> Feuil1.Name And sh.Name <> Feuil5.Name Then
sh.Delete
End If
Next sh
Application.DisplayAlerts = True
End Sub
 
- 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
16
Affichages
585
Réponses
13
Affichages
658
Réponses
18
Affichages
519
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…