Pour répondre à votre message privé :
.../... si je duplique le classeur ce code ne fonctionne plus je reçois le message suivant .../...
Le code de masquage est prévu pour "travailler" sur les feuilles Lundi, Mardi, ....Samedi et Dimanche.
Dès lors que ces noms de jour de semaine ne sont pas respectés, il y a erreurs.
Une modification possible, si les feuilles des jours de semaine sont toujours à la même position ( à savoir Lundi en 2, Mardi en 3, Mercredi en 4 ....), le nom de la feuille n'a plus d'importance :
Sub SansPub()
Dim i As Long, j As Byte, DL As Long
Application.ScreenUpdating = False
For j = 2 To 8
With Worksheets(j)
DL = .Range("C" & Rows.Count).End(xlUp).Row
For i = 3 To DL
If .Range("B" & i).Value Like "*PUB*" Then .Rows(i).Hidden = True
Next
End With
Next
Application.ScreenUpdating = True
End Sub
Sub AfficheToutesLignes()
Dim j As Byte, DL As Long
For j = 2 To 8
With Worksheets(j)
DL = .Range("C" & Rows.Count).End(xlUp).Row
.Rows("3:" & DL).Hidden = False
End With
Next
End Sub