J'ai actuellement une boucle qui fonctionne très bien pour masquer les colonnes en fonction de plusieurs cellules déroulantes. Je voudrais également ajouter du code pour masquer les feuilles basées sur les mêmes listes déroulantes, mais je ne suis pas sûr de savoir comment ajouter à mon For Each Cell In Range pour accommoder cela. J'ai collé ce que j'ai pour cacher les colonnes ci-dessous. Toute aide serait grandement appréciée.Masquer les colonnes et plusieurs feuilles à l'aide de la boucle
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
For Each cell In Range("$A$30:$A$38")
If cell = "Descriptor 1" Or cell = "Descriptor 2" Then
Columns("B:F").EntireColumn.Hidden = False
Exit For
Else
Columns("B:F").EntireColumn.Hidden = True
End If
Next Cell
Merci pour la réponse rapide! Je vais essayer et vous dire comment ça marche! –
Ok. Alors je l'ai essayé. Ça n'a pas marché comme je l'espérais. Le problème est dans mon explication. J'ai 22 feuilles chacune avec un nom correspondant dans une liste de validation de données dans 9 listes déroulantes distinctes. Je dois non seulement masquer les colonnes basées sur le Descripteur 1 et le Descripteur 2, mais aussi masquer/afficher les feuilles des 22 descripteurs indépendamment du code pour masquer les colonnes en fonction des sélections indépendantes dans les 9 listes déroulantes. Si les noms de feuille indépendants ne sont pas présents dans les listes déroulantes, les feuilles indépendantes doivent être masquées. –
@il_Paco Pas certain à 100% que je comprenne, alors supportez-moi - vous voulez afficher les colonnes sur la feuille active si l'une des A30: A38 sont "Descripteur 1" ou "Descripteur 2"? Vous souhaitez également masquer une feuille de calcul (autre que la feuille active?) Dont le nom n'apparaît dans aucune des cellules A30: A38 de la feuille active, ou bien rendre la feuille visible si le nom de la feuille apparaît dans ces cellules. – YowE3K