Masquer plusieurs lignes en fontion de conditions
Fermé
Maud
-
4 mars 2016 à 16:40
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 4 mars 2016 à 17:34
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 4 mars 2016 à 17:34
A voir également:
- Masquer plusieurs lignes en fontion de conditions
- Partage de photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Mise en forme conditionnelle excel plusieurs conditions - Guide
- Masquer conversation whatsapp - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
2 réponses
L'utilisation ici de Worksheet_Change est mauvaise. Worksheet_Change permet d'agir lorsque la sélection d'une cellule change. Il faut utiliser Worksheet_SelectionChange, qui lui agit lors d'un changement de valeur d'une cellule.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$D$13" Then Select Case Range("D13") Case 1 Rows("15:21").EntireRow.Hidden = True Case 2 Rows("16:21").EntireRow.Hidden = True Case 3 Rows("17:21").EntireRow.Hidden = True Case 4 Rows("18:21").EntireRow.Hidden = True Case 5 Rows("19:21").EntireRow.Hidden = True Case 6 Rows("20:21").EntireRow.Hidden = True Case 7 Rows("21:21").EntireRow.Hidden = True End Select End If End Sub
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 4/03/2016 à 17:41
Modifié par Mike-31 le 4/03/2016 à 17:41
Bonjour,
pour ma part comme la ligne 21 est fixe j'aurais écrit ce code
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x, c As String
x = 14 + [$D$13].Value
c = 21
If Target.Address = "$D$13" Then
Cells.EntireRow.Hidden = False
If [$D$13] > 0 Then Rows(x & ":" & c).EntireRow.Hidden = True
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
pour ma part comme la ligne 21 est fixe j'aurais écrit ce code
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x, c As String
x = 14 + [$D$13].Value
c = 21
If Target.Address = "$D$13" Then
Cells.EntireRow.Hidden = False
If [$D$13] > 0 Then Rows(x & ":" & c).EntireRow.Hidden = True
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.