Excel - Masquer les lignes conditionnelles dans plusieurs feuilles

Problème

J'ai un fichier Excel avec plusieurs feuilles et toutes avec les mêmes colonnes et lignes. Je dois masquer des lignes spécifiques dans chaque feuille (les mêmes numéros de ligne pour toutes les feuilles) si la valeur est zéro dans une cellule spécifique.

Alors, comment puis-je le faire en VB et automatiquement mis à jour lors de la modification de la valeur dans la cellule spécifiée précédente.

C'est-à-dire que j'ai 10 feuilles pour 10 employés et dans chaque feuille, j'ai les données suivantes:

 A1 = Nom de l'employé A2 = Âge, A4 = Salaire, B4 = 4000 (tous les montants (valeurs) seront différents dans chaque feuille) A5 = Déductions, B5 = 500 A6 = Assurance, B6 = 1000 A8 = Salaire net, B8 = 2500 A10 = Payé par chèque A11 = Payé par virement, B11 = 2500 A13 = Total, B13 = 2500 

Mon exigence est de masquer chaque ligne qui a zéro dans la colonne B dans les 10 feuilles. Bien sûr, la valeur de toutes les feuilles provient d’une seule feuille maîtresse. Par conséquent, si la valeur des feuilles maîtresses change, elle le sera également dans les 10 feuilles de chaque correspondant.

Remarque: je n'ai pas besoin de filtrer les valeurs.

En bref, je veux écrire une macro pour masquer toutes les lignes (spécifiées) qui ont un zéro dans la colonne B et pour être appliquées sur les 10 feuilles qui ont les mêmes lignes et colonnes.

Solution

  • Ouvrez le VBE
  • Cliquez sur votre fiche
  • Collez ce code:

 Private Sub Worksheet_Change (ByVal Target As Range) Dim bHide As Boolean If Target.Column 2, puis quittez Sub bHide = True si (CStr (Target) "0") Alors bHide = False pour chaque feuille insérée dans les feuilles If Sheet.Name = ActiveSheet. Nom, puis GoTo Next_Sheet Sheets (Sheet.Name) .Rows (Target.Row) .Hidden = bHide Next_Sheet: Next End Sub 

Remarque

Merci à rizvisa1 pour cette astuce sur le forum.

Article Précédent Article Suivant

Les Meilleurs Conseils