Boucle sur feuilles

Bonjour, j'utiilise un fichier tous les mois avec une feuille par jour numérotées de 1 à 31 + une feuille "global mensuel" + 15 autres feuilles. Je voudrais utiliser 2 boucles pour sélectionner des feuilles :

  • une boucle qui va passer feuille par feuille
  • une boucle qui va vérifier si le nom de la feuille est compris entre 1 et 31

Je souhaiterais conserver uniquement les feuilles numérotées de 1 à 31 + la feuille "global mensuel" et supprimer les autres feuilles

Quel est le code VBA ?

Voici mon code VBA :

Dim ficcc As Workbook

Set ficcc = ActiveWorkbook

Dim menscc As Worksheet

Set menscc = ficcc.Worksheets("Global Mensuel")

Dim s As Long

Dim n As Long

For s = 1 To Sheets.Count

For n = 1 To 31

If Sheets(s).Name = n Or Sheets(s).Name = menscc.Name Then

Exit For

Else

Sheets(s).Select False

End If

Next n

Next s

ActiveWindow.SelectedSheets.Delete

Pouvez-vous m'aider ?

Bonsoir Ludush, le forum,

Je souhaiterais conserver uniquement les feuilles numérotées de 1 à 31 + la feuille "global mensuel" et supprimer les autres feuilles

Un essai....CTRL + e pour exécuter la macro

Sub SupprimeOnglet()

Dim a, w As Worksheet

Application.DisplayAlerts = False

a = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", _
     "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", _
     "29", "30", "31", "global mensuel")                                                       'Nom des feuilles à exclure

    For Each w In Worksheets
       If IsError(Application.Match(w.Name, a, 0)) Then
          w.Delete
       End If
    Next

Application.DisplayAlerts = True
End Sub
5classeur1.xlsm (17.72 Ko)

Cordialement,

[b]source : https://forum.excel-pratique.com/viewtopic.php?p=504188#p504188

Merci beaucoup

Rechercher des sujets similaires à "boucle feuilles"