Code vba pour masquer feuilles suivant le nom

Résolu
Vinz -  
 Vinz -
Bonjour à tous,

Je cherche à créer une macro pour masquer des feuilles Excel si le nom de la feuille contient le mot 'add'. J'ai commencé à faire cette macro, mais je suis débutant et malheureusement elle ne passe pas....

Sub Masquer()

Application.ScreenUpdating = False

Dim i As Integer

For i = 1 To Worksheets.Count

Worksheet(i).Activate

If SheetName(i) = "*" & "add" & "*" Then

Sheet(i).Select
ActiveWindow.SelectedSheet.Visible = False

Next

End Sub


Pour exemple le nom des feuilles à masquer:
- "CC add1" ou "CC add2"
- "Master aad1" ou "Maqter add2"

Toutes les feuilles contenant "add" ne servent pas et doivent être masquer pour ne pas être exporter en pdf en fait.

En vous remerciant d'avance!!

2 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Ou bien comme ça :
        Dim sh As Worksheet 
        For Each sh In Worksheets 
            sh.Visible = InStr(sh.Name, "add") = 0 
        Next sh 

    Attention *Add* ne sera pas masqué, mettre lcase(sh.Name) si besoin

    eric
    3
    1. Vinz
       
      Cette version marche! je te remercie pour ton aide si rapide. La boucle était donc inutile...

      Merci encore, à bientot
      0
  2. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    Bonjour,

    as-tu essayé en enlevant les guillemets autour des * dans la ligne :
    If SheetName(i) = "*" & "add" & "*" Then 
    ?

    Cordialement.
    0