XL 2013 Cacher des lignes selon une valeur

  • Initiateur de la discussion Initiateur de la discussion leneh
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
519
Retour