XL 2013 Cacher des lignes selon une valeur

leneh

XLDnaute Nouveau
Bonjour,

Je rempli une valeur entre 1 et 10 dans la case C6 et selon la valeur cela me cache certaines lignes.
Lorsque je change la valeur C6, la fenêtre VBA s'ouvre en me mettant en défaut cette ligne :
Rows("52:231").EntireRow.Hidden = False

de ce code :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = 0

Rows("52:231").EntireRow.Hidden = False
If Range("C6").Value = "1" Then Rows("52:231").EntireRow.Hidden = True
If Range("C6").Value = "2" Then Rows("72:231").EntireRow.Hidden = True
If Range("C6").Value = "3" Then Rows("92:231").EntireRow.Hidden = True
If Range("C6").Value = "4" Then Rows("112:231").EntireRow.Hidden = True
If Range("C6").Value = "5" Then Rows("132:231").EntireRow.Hidden = True
If Range("C6").Value = "6" Then Rows("152:231").EntireRow.Hidden = True
If Range("C6").Value = "7" Then Rows("172:231").EntireRow.Hidden = True
If Range("C6").Value = "8" Then Rows("192:231").EntireRow.Hidden = True
If Range("C6").Value = "9" Then Rows("212:231").EntireRow.Hidden = True

Application.ScreenUpdating = -1
End Sub

Pouvez-vous m'aider s'il vous plait? Je ne comprends pas ce qu'il se passe.

Je vous remercie.
Leneh
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

A tester:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "C6" Then Exit Sub
    Application.ScreenUpdating = False
    Rows(52).Resize(180).EntireRow.Hidden = False
    If Target.Value > 0 And Target.Value < 10 Then Range(CStr(32 + (Target.Value * 20)) & ":231").EntireRow.Hidden = True
    Application.ScreenUpdating = True
End Sub

Cordialement
 

laurent3372

XLDnaute Impliqué
Supporter XLD
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range, rownum As Long
    
    Set rng = Range("C6")  'Cellule à surveiller
        'Si la modif ne concerne pas la cellule à surveiller, on ne fait rien
    If Intersect(Target, rng) Is Nothing Or Not IsNumeric(rng.Value) Then Exit Sub
    Rows("52:231").Hidden = False   'On affiche toutes les lignes
    rownum = 32 + rng.Value * 20    'On calcule la ligne de début
    Rows(rownum & ":231").Hidden = True ' On cache les lignes de la ligne de début à la dernière ligne
End Sub
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote