Macro pour masquer des onglets en fonction d'une valeur

Bonjour à tous,

je suis novice en VBA et j'aimerai que quelqu'un m'aide pour trouver une macro pour masquer des onglets en fonction de la valeur d'une cellule, j'explique tout dans le fichier ci-joint.

Merci d'avance

12exemple1.xlsx (12.52 Ko)

Bonjour,

Dans le module Thisworkbook le code suivant :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Not Intersect(Target, Range("F6")) Is Nothing Then
        For Each Sh In Worksheets
            Sh.Visible = True
            If Sh.Name Like "semaine*" Then
                If Val(Right(Sh.Name, 1)) > Target Then
                    Sh.Visible = False
                End If
            End If
        Next Sh
    End If
End Sub

Ok j'ai essayé, ça fonctionne mais j'aimerai l'adapter à un autre fichier contenant plus de page, pouvez vous me dire quelles sont les variables à modifier ?

le fichier en question est dans le même style cependant il comporte 16 semaines à potentiellement masquer en fonction de la valeur dans une cellule en M5.

merci :)

Re,

As-tu essayé avec le même code ? Si besoin est, adapte le code par exemple M5 à la place de F6

Yes j'ai essayé mais ça n'a l'air d'agir que sur les 10 première semaines (en gros ça masque pas les onglets de semaine 10 à 16)

Re,

Peux-tu joindre le vrai fichier pour tester ?

Re,

Je ne trouve pas de lien.

Je n'arrive pas à vous joindre le fichier car ce dernier fait plus de 3mo et même en compréssé il est à 2,5mo, comment peut on faire?

Re,

Essaye ce code :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Not Intersect(Target, Range("F6")) Is Nothing Then
        For Each Sh In Worksheets
            Sh.Visible = True
            If Sh.Name Like "semaine*" Then
                If Val(Right(Sh.Name, 2)) > Target Then
                    Sh.Visible = False
                End If
            End If
        Next Sh
    End If
End Sub

Super!! c'est exactement ça, Merci beaucoup :))))

donc vous en remplaçant "1" par "2" ça prend en compte un deuxième chiffre c'est ça?

Re,

Exactement, tu as tout compris.

Rechercher des sujets similaires à "macro masquer onglets fonction valeur"