Aller sur la pagge correspondant au mois en cours

Bonjour tout le monde,

Juste pour le plaisir, j'ai trouvé une petite macro qui permet d'aller sur l'onglet du mois en cours.

Celle ci fonctionne très bien avec un onglet ne comportant que le mois, j'ai donc essayé de modifier pour qu'il y ait le mois et l'année (mmmm/aaaa ou mmmm-aaaa) mais rien ne fonctionne

Je suppose que pour certains d'entre vous ça va vous prendre 2 minutes de trouver la solution

Voilà le code d'origine en question:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next 'si la feuille n'existe pas
If IsDate("1/" & Sh.Name) Then If LCase(Sh.Name) <> Format(Date, "mmmm") Then _
    If MsgBox("Aller sur le mois en cours ?", 4) = 6 Then Sheets(Format(Date, "mmmm")).Activate
If Err Then MsgBox "Mois en cours introuvable !", 48
End Sub

merci à vous et bon week-end!!!

bonjour bayard,

VBA est en anglais, donc c'est "mmmm-yyyy" ou "mmmm/yyyy"

Bonjour bart,

j'avais déjà essayé mais ça ne marche pas non plus

Onglet: février 2025

essai avec : mmmm/yyyy ou mmmm-yyyy

ca marche po

A+

re,

à adapter à vos voeux

Sub M_mois()
     Dim sMois, sh As Worksheet

     'choisir un des 2 suivants ou une variante
     'sMois = WorksheetFunction.Proper(WorksheetFunction.Text(Date, "[$-fr-fr]mmmm"))     'seulement le mois en francais
     sMois = WorksheetFunction.Text(Date, "[$-fr-fr]mmmm yyyy")     'le mois en francais et l'année (4 chiffres)

     On Error Resume Next
     Set sh = Sheets(sMois) 'vérifier si la feuille existe
     On Error GoTo 0
     If sh Is Nothing Then
          MsgBox "la feuille " & Chr(34) & sMois & Chr(34) & " n'existe pas"
     Else
          Application.Goto sh.Range("B2")
     End If

End Sub

Et bien sur ça fonctionne

Je te remercie et bon week-end!!

Alors comme je n'aime pas trop rester sur un échec, j'ai continué à chercher le pourquoi du comment!!

En ne mettant rien entre "mmmm" et "yyyy", ben ça fonctionne

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next 'si la feuille n'existe pas
If IsDate("1/" & Sh.Name) Then If LCase(Sh.Name) <> Format(Date, "mmmm yyyy") Then _
    If MsgBox("Aller sur le mois en cours ?", 4) = 6 Then Sheets(Format(Date, "mmmm yyyy")).Activate
   If Err Then MsgBox "Mois en cours introuvable !", 48
End Sub

Bonne fin de journée à tous et bon courage pour lundi!!!

Bonjour à vous deux !

comme un cheveux sur la soupe je viens alors que le sujet est clôt...
Mais si votre fichier correspond à celui proposé sur cette question, alors il ets normal qu'avec "rien" ou plutôt un "espace" entre le mois et l'année cela fonctionne, puisque c'est la structure du nom des onglets "Février 2025" (le slash / étant interdit dans le nom des onglets).

j'dis ça j'dis rien

@ bientôt

LouReeD

merci de cette précision!!!

Rechercher des sujets similaires à "aller pagge correspondant mois cours"