XL 2016 vba boucle de suppression sur codename

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

Hervé

XLDnaute Barbatruc
Bonjour à tous 🙂

Seriez vous pourquoi ce code bug :

VB:
Application.DisplayAlerts = False
For i = 1 To Sheets.Count
    If Mid(Sheets(i).CodeName, 6) > 10 Then Sheets(i).Delete
Next i

je voudrais simplement supprimer les onglets dont la fin du codename est supérieur à 10

a plus
 
Bonjour Hervé,
Quand on créé une feuille le Codename est unique et ne change jamais.
Si on ajoute des feuilles et qu'on supprime, à chaque fois un nouveau Codename est crée.
Si bien que la liste des Codename peut avoir "des trous", par ex Sheets(6) existe mais pas Sheets(5).
Il vaut mieux donc passer par la scrutation de toutes les feuilles qui lui ne s'intéresse pas au Codename, avec :
VB:
Sub Supression2()
Application.DisplayAlerts = False
On Error GoTo Fin
For Each Feuille In Worksheets
    If Mid(Feuille.CodeName, 6) > 10 Then Feuille.Delete
Next Feuille
Exit Sub
Fin:
MsgBox Feuille & " n'existe pas "
End Sub
En PJ un ex avec trois boutons, un pour créer 10 feuilles, un pour votre macro, un pour la mienne.
 

Pièces jointes

Bonjour.
Non, je ne sais pas. Il faudrait que je connaisse la valeur de Sheets(i).CodeName. Mettez un espion dessus. Assez probable quand même qu'il y ait autre chose que des chiffres à partir de sa position 6.
Peut être serait mieux If Val(Mid(Sheets(i).CodeName, 6)) > 10 Then Sheets(i).Delete
 
- 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
8
Affichages
472
Réponses
10
Affichages
282
Réponses
7
Affichages
365
Retour