Automatisation afficher/masquer feuilles sous conditions

Bonjour à tous,

J'ai réalisé un fichier (tournoi tennis de table). J'aimerai afficher uniquement l'onglet correspondant au nombre d'inscrits du Tableau résultats, les autres onglets devant être masqués.

Pour cela, dans le Tableau résultats la cellule AG1 compte le nombre d'inscrits, ensuite dans chaque onglet (2 Tables, 3 Tables, etc...) compte également le nombre de matches (exemple : onglet 2 Tables, cellule G1).

Merci de votre aide

Bernes

Bonjour,

Sub SélecTournoi()
    Dim nt, t%, ws As Worksheet
    t = Worksheets("Tableau résultats").Range("AG1")
    For Each ws In Worksheets
        If ws.Name Like "*Tables" Then
            nt = Split(Trim(ws.Name))
            If Val(nt(0)) = t Then
                ws.Visible = xlSheetVisible
            Else
                ws.Visible = xlSheetHidden
            End If
        End If
    Next ws
End Sub

A placer dans un module standard (NB- 5 modules standard, c'est 4 de trop à supprimer...!) et mettre éventuellement un bouton pour la lancer...

Cordialement.

Merci beaucoup, je viens de copier le code , ça marche super !

N'ayant guère d'expérience dans le domaine d'écriture vba, ne serait-il pas possible de lancer cette commande automatiquement en fonction du nombre de saisie des inscrits dans le tableau résultats ?

Cordialement

Bernes

Ton nombre d'inscrits est dépendant d'une formule, ce qui ne déclenche pas d'évènement Change qui pourrait être utilisé.

L'évènement Calculate, déclencherait la procédure à tout bout de champ (dès qu'un recalcul intervient, et c'est souvent), ce qui pourrait finir par être gênant, je ne le conseille pas...

Cordialement.

Encore merci, j'ai mis un bouton pour lancer le code, ça fonctionne parfaitement !

Cordialement

Bernes

Rechercher des sujets similaires à "automatisation afficher masquer feuilles conditions"