XL 2013 (RESOLU) Afficher / Masquer des lignes et des colonnes selon les valeurs de deux cellules

chaelie2015

XLDnaute Accro
Bonsoir Forum
Dans la feuille 'CEO' j'ai un tableau (E7:BA7) et deux cellule D2 (pour les lignes) et D4 (pour les colonne) je souhaite masquer ou afficher les lignes et les colonnes en fonction des chiffres dans les cellules D2 et D4.
Merci
 

Pièces jointes

  • CHARLIE MHCEO Tableaux ligne colonne V18102023.xlsm
    14.9 KB · Affichages: 1
Solution
Bonsoir Chaelie,
Un essai en PJ avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    If Not Intersect(Target, [D2]) Is Nothing Then
         NumLig = Target + 7
         Rows("7:60").EntireRow.Hidden = False
         Rows(NumLig & ":60").EntireRow.Hidden = True
    ElseIf Not Intersect(Target, [D4]) Is Nothing Then
         NumCol = Target + 4
         Columns("D:BA").EntireColumn.Hidden = False
         Range(Cells(1, NumCol), Cells(1, 54)).EntireColumn.Hidden = True
    End If
Fin:
End Sub

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Chaelie,
Un essai en PJ avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    If Not Intersect(Target, [D2]) Is Nothing Then
         NumLig = Target + 7
         Rows("7:60").EntireRow.Hidden = False
         Rows(NumLig & ":60").EntireRow.Hidden = True
    ElseIf Not Intersect(Target, [D4]) Is Nothing Then
         NumCol = Target + 4
         Columns("D:BA").EntireColumn.Hidden = False
         Range(Cells(1, NumCol), Cells(1, 54)).EntireColumn.Hidden = True
    End If
Fin:
End Sub
 

Pièces jointes

  • CHARLIE MHCEO Tableaux ligne colonne V18102023.xlsm
    20.9 KB · Affichages: 4

chaelie2015

XLDnaute Accro
Bonsoir Chaelie,
Un essai en PJ avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    If Not Intersect(Target, [D2]) Is Nothing Then
         NumLig = Target + 7
         Rows("7:60").EntireRow.Hidden = False
         Rows(NumLig & ":60").EntireRow.Hidden = True
    ElseIf Not Intersect(Target, [D4]) Is Nothing Then
         NumCol = Target + 4
         Columns("D:BA").EntireColumn.Hidden = False
         Range(Cells(1, NumCol), Cells(1, 54)).EntireColumn.Hidden = True
    End If
Fin:
End Sub
Bonsoir sylvanu
C'est parfait, merci
A+
 

Discussions similaires

Réponses
2
Affichages
158

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin