Suppression d'un onglet pouvant avoir plusieurs noms

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

R

roulax

Guest
Bonjour,

J'utilise ce code pour supprimer des onglets existants car je veux les recréer tous les mois.
Dans mon exemple, mon onglet s'appelle Report DPU HFO, je voudrais pouvoir supprimer cet onglet qu'il s'appelle report, report dpu, report dpu hfo avec la même ligne de code. Le nom commence toujours par Report

PHP:
    Application.DisplayAlerts = False
    On Error Resume Next
    ActiveWorkbook.Sheets("Report DPU HFO").Delete
    On Error GoTo 0

Une idée ?
 
Re : Suppression d'un onglet pouvant avoir plusieurs noms

Salut,

Essayes avec ceci :
Code:
Dim k%
Application.DisplayAlerts = False
For k = 1 To Sheets.Count
    If InStr(1, Sheets(k).Name, "Report") > 0 Then Sheets(k).Delete
Next k
Application.DisplayAlerts = True

En gros, on boucle sur toutes les feuilles du classeur et on regarde si le nom de chacune des feuilles contient le mot Report, auquel cas, on la supprime.

@+
 
Re : Suppression d'un onglet pouvant avoir plusieurs noms

Bonjour roulax, Romain🙂

une autre solution comme ceci :

Code:
Option Explicit
Sub test()
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In Worksheets
    If LCase(ws.Name) Like "report*" And Worksheets.Count > 1 Then
        ws.Delete
        Exit For
    End If
Next ws
Application.DisplayAlerts = True
End Sub

bon après midi
@+
 
Re : Suppression d'un onglet pouvant avoir plusieurs noms

Re porcinet82, Pierrot93,

Les deux codes fonctionnent, je vais privilégier le deuxième et l'adapter, j'ai plusieurs onglets à supprimer sur le même modèle.

Merci pour vos réponses rapides.
 
Re : Suppression d'un onglet pouvant avoir plusieurs noms

Re porcinet82, Pierrot93,

Nouveau petit problème,

Dans une feuille de calcul, j'ai plusieurs fois le nom report.
Dans ce cas, la macro supprime pas les onglets;
Y-a-t-il une subtilité ?

Merci d'avance pour vos réponse.
 
Re : Suppression d'un onglet pouvant avoir plusieurs noms

re,

Non, normalement ça devrait supprimer les feuilles.
Par contre, dans le code de l'ami Pierrot, il faut que le nom de ta feuille commence par report pour qu'elle soit supprimée, contrairement à mon code.
Si ça ne vient pas de la, mets nous un exemple qu'on essais de voir en détails ou ça merdouille.

@+
 
Re : Suppression d'un onglet pouvant avoir plusieurs noms

Re,

A noter, si le nom de la feuille ne commence pas par "report" mais que ce mot est contenu dans la feuille, il faut modifier ainsi la comparaison :
Code:
Like "[COLOR="Red"][B][SIZE="4"]*[/SIZE][/B][/COLOR]report*"

@+
 
Re : Suppression d'un onglet pouvant avoir plusieurs noms

Re,

enlève les lignes comme celle-ci
Code:
Exit For
, je pensais qu'il y avait qu'une feuille à supprimer... par contre attention, il restera au moins une feuille.... A noter, ce code serait mieux placé dans un module standard, dans l'éditeur vba => barre de menu => insertion => Module
 
Re : Suppression d'un onglet pouvant avoir plusieurs noms

Re,

si tu veux qu'une seule boucle :

Code:
Sub test()
Dim ws As Worksheet
For Each ws In Worksheets
    If (LCase(ws.Name) Like "report*" Or LCase(ws.Name) Like "fault*" _
        Or LCase(ws.Name) Like "mean*" Or LCase(ws.Name) Like "alert*") And Worksheets.Count > 1 Then
        Application.DisplayAlerts = False
        ws.Delete
        Application.DisplayAlerts = True
    End If
Next ws
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
909
D
Réponses
4
Affichages
1 K
Retour