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

XL 2016 Supprimer les copies d'une feuille

christ77000

XLDnaute Occasionnel
Bonsoir, j'ai un bout de code qui me supprime bien la feuille nommée en D29.
Maintenant j'ai une macro pour créer des copies de feuilles. Ma question est comment supprimer une suite de feuille sans supprimer l'original
exemple je copie la feuil1 donc j'ai bien Feuil1, Feuil1 (2), Feuil1 (3), Feuil1 (4) ne pas supprimer Feuil1. Merci pour votre aide.

VB:
Dim plageNoms As Range
Set plageNoms = Range("D29")
Application.DisplayAlerts = False
For Each cell In plageNoms
Sheets(cell.Value).Delete
 

Patrice33740

XLDnaute Impliqué
Si on se limite à ton exemple, il suffit de supprimer les feuille dont le nom se termine par une parenthèse.

Mais le meilleur moyen de détecter une copie d'une feuille dans un classeur, c'est de d'utiliser un codename spécifique : toutes les copies commencent par ce codename.
 

christ77000

XLDnaute Occasionnel
J'ai tester ce code mais ca plante sur end If sans bloc If
VB:
Sub Supfeuil()
Dim Ws As Worksheet
If Ws.Name Like "(*)" Then
  Application.DisplayAlerts = False
  For Each Ws In Sheets
          Ws.Delete
End If
  Next Ws
  Application.DisplayAlerts = True
    
End Sub
 

Patrice33740

XLDnaute Impliqué
Ce serait plutôt :
VB:
Sub Supfeuil()
Dim Ws As Worksheet
  For Each Ws In Sheets
      If Ws.Name Like "*(*)" Then
          Application.DisplayAlerts = False
          Ws.Delete
          Application.DisplayAlerts = True
      End If
  Next Ws
End Sub
 

Discussions similaires

Réponses
2
Affichages
220
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…