Code vba pour masquer feuilles suivant le nom

Résolu/Fermé
Vinz - 8 juil. 2010 à 12:20
 Vinz - 8 juil. 2010 à 13:30
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!!

A voir également:

2 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
Modifié par eriiic le 8/07/2010 à 12:52
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
Cette version marche! je te remercie pour ton aide si rapide. La boucle était donc inutile...

Merci encore, à bientot
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
8 juil. 2010 à 12:21
Bonjour,

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

Cordialement.
0