Masquer des lignes et feuilles selon condition

0

Bonjour,

J'ai un tableau Récap et des feuilles correspond à chaque cellule dans la colonne A et chaque ligne correspond à un onglet. J'aurais besoin d'aide pour créer un bouton qui me permette de masquer une ligne et la une feuille qui porte le même nom, si la valeur de la colonne I correspondante = 0. Je souhaiterais avoir un autre bouton qui démasque.

Par exemple, dans le tableau que je joins, la cellule F13=0, je veux donc masquer la ligne 13 et la feuille "A.1"

Merci beaucoup 
NB : C'est très urgent

Posté le 19 décembre 2016, 22:35
par TAHANI
Répondre
4

Bonjour,

Si dans un onglet Récap, tu as en colonne A le nom des feuilles et en colonne B les valeurs récupérées dans chaque feuille alors la macro suivante fonctionne en interrupteur (un clic = lignes et onglets s'affichent, un clic = lignes et onglet se masquent que la valeur est 0).

Sub Masquer_lignes()
  Dim ligne As Integer
  Application.ScreenUpdating = False ' Pas de rafraichissement d'écran pendant
  For ligne = 2 To ActiveSheet().UsedRange.Rows.Count 'nombre de ligne
    Nom_onglet = Range("A" & ligne).Value ' nom de l'onglet (en colonne A de l'onglet Récap)
    
    If Rows(ligne & ":" & ligne).EntireRow.Hidden = True Then 'si la ligne est cachée, affiche la
      Rows(ligne & ":" & ligne).EntireRow.Hidden = False '
      Sheets(Nom_onglet).Visible = True ' affiche l'onglet correspondant
    Else
      If Range("B" & ligne) = 0 Then ' si la valeur est 0 cache la ligne et l'onglet
        Rows(ligne & ":" & ligne).EntireRow.Hidden = True
        Sheets(Nom_onglet).Visible = False
      End If
    End If
  Next
  Application.ScreenUpdating = True
End Sub
Posté le 20 décembre 2016, 15:17
par ouisansdoute

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :