Ouvrir Onglet Année en cours

Bonjour le forum, bonne année et surtout une bonne santé à tous

J'ai deux onglets Retraites 2018 et Retraites 2019

Quel vba pour ouvrir onglet année en cours?

Merci d'avance à vous

Cordialement

Bonjour,

A placer dans le ThisWorkbook du classeur

Private Sub Workbook_Open()
  Sheets("Retraites " & Year(Date)).Activate
End Sub

Bonjour,

A placer dans le ThisWorkbook du classeur

Private Sub Workbook_Open()
  Sheets("Retraites " & Year(Date)).Activate
End Sub

Bonjour M12 et bonne année

Oui ça fonctionne mais je voudrais que ça masque Retraites 2018 (j'ai oublié de le préciser)

Merci à toi

Bonjour al87,

Worksheets("Retraites " & Year(Date)).Select

bonne année 2019 !

dhany

Worksheets("Retraites " & Year(Date)).Select
Worksheets("Retraites 2018").Visible = 2

dhany

Worksheets("Retraites " & Year(Date)).Select
Worksheets("Retraites 2018").Visible = 2

dhany

Bonjour dhany

Bonne année à toi aussi et surtout une bonne santé

Merci. Nickel ça fonctionne.

Bonne journée

Cordialement

merci pour ton retour, et pour avoir passé le sujet en résolu !

bonne continuation !

dhany

Worksheets("Retraites " & Year(Date)).Select
Worksheets("Retraites 2018").Visible = 2

dhany

Bonjour dhany

Bonne année à toi aussi et surtout une bonne santé

Merci. Nickel ça fonctionne.

Bonne journée

Cordialement

Re-dhany ou autre membre du forum

Lorsque je vais faire nouvelle année donc 2020 il faudra modifier ma macro?

Cordialement

@al87

pour ne pas devoir modifier la macro chaque nouvelle année, utilise ce code VBA :

Sub Essai()
  Dim An%: An = Year(Date)
  Worksheets("Retraites " & An).Select
  Worksheets("Retraites " & An - 1).Visible = 2
End Sub

dhany

Bonjour dhany

J'ai fait jusqu'à 2021 et les onglets 2018 2019 2020 2021 sont tous ouverts.

Cordialement

Bonjour

Teste

Private Sub Workbook_Open()
 Dim sh As Worksheet
 Dim An%
 An = Year(Date)
 For Each sh In ThisWorkbook.Worksheets
  With sh
   If .Name <> "Retraites " & An Then .Visible = xlSheetVeryHidden
  End With
 Next
End Sub

Bonjour al87,

tu a écrit :

J'ai fait jusqu'à 2021 et les onglets 2018 2019 2020 2021 sont tous ouverts.

nan, sans blague ? c'est vrai, ça ?

dans mon code VBA, il y a : An = Year(Date)

* Date retourne la date système du PC, donc si elle est à jour sur ton ordi, c'est le 3 janvier 2019

* Year(Date) retourne l'année de la date système : 2019

* ainsi, la variable An contient 2019

* donc ensuite, ça sélectionne la feuille "Retraites 2019" et ça cache la feuille "Retraites 2018"

ça ne fait rien d'autre ! pour tes nouvelles feuilles "Retraites 2020" et "Retraites 2021" (dont tu n'avais pas parlé), ça en tient absolument pas compte, et t'es trop avant-gardiste ! alors, serait-ce qu'il faut cacher toutes les feuilles sauf la feuille "Retraites" de l'année en cours ?

dhany

Bonjour dhany

Oui trop avant-gardiste. Ça c'est moi. Je pars sur un truc et après je réfléchi!!!

En fait je suis toujours à contre temps. Vous ne pouvez pas savoir ce qui est dans ma tête...et il y en a!!!

Vous faites ce que je demande.

Toutes mes excuses

Merci à toi et bonne journée

@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 !

11exo-al87.xlsm (17.44 Ko)

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

Rechercher des sujets similaires à "ouvrir onglet annee cours"