@al87
pour cacher toutes les feuilles "Retraites" sauf celle de l'année en cours, je te propose ce nouveau code VBA :
Sub Essai()
Dim chn$, i%
chn = "Retraites " & Year(Date)
Application.ScreenUpdating = 0
With Worksheets(chn)
.Visible = -1: .Select
End With
For i = 1 To Worksheets.Count
With Worksheets(i)
If .Name <> chn Then .Visible = 2
End With
Next i
End Sub
attention : ne pas oublier qu'il est impossible de cacher toutes les feuilles du classeur ! une doit forcément rester visible !
donc il faut faire, dans cet ordre :
1) rendre visible la feuille de l'année en cours, et la sélectionner
2) cacher toutes les autres feuilles
le fichier joint contient ces 4 feuilles : "Retraites 2018" ; "Retraites 2019" ; "Retraites 2020" ; "Retraites 2021".
seule la feuille "Retraites 2018" est visible ; les autres feuilles sont donc cachées, y compris "Retraites 2019".
voilà pourquoi il faut d'abord rendre visible "Retraites 2019", et la sélectionner, avant d'faire la suite !
ouvre le fichier ; note que la feuille visible est "Retraites 2018" ; fais Ctrl e ; attention :
c'est pas la feuille "Retraites 2018" qui a été renommée en "Retraites 2019", hein ?
bonne journée à toi aussi !
dhany