Bonjour Forum
Je souhaite simplifier ce code par une boucle de A33=0 jusqu’à A33=20
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case [A33]
Case 1
Rows("13:13").Hidden = False
Rows("14:32").Hidden = True
Case 2 'cas 2
Rows("13:14").Hidden = False
Rows("15:32").Hidden = True
Case 3
Rows("13:15").Hidden = False
Rows("16:32").Hidden = True
Case 4
Rows("13:16").Hidden = False
Rows("17:32").Hidden = True
Case 5 'cas 2
Rows("13:17").Hidden = False
Rows("18:32").Hidden = True
Case 6
Rows("13:18").Hidden = False
Rows("19:32").Hidden = True
Case Else 'autre cas
Rows("13:32").Hidden = True 'Masquer toutes les lignes
End Select 'fin de l'action en fonction de...
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$33" Then Exit Sub
If Not IsNumeric(Target.Value) Then Exit Sub
If Target.Value < 0 Or Target.Value > 20 Then Exit Sub
Rows("13:" & Target.Value + 13).Hidden = False: If Target.Value = 20 Then Exit Sub
Rows(Target.Value + 13 & ":32").Hidden = True
End Sub
[Édition]
Bonjour PierreJean nos posts se sont croisés...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Integer, Lig As Integer
If Target.Address = "$A$33" Then
For Lig = 13 To 32
Cells(Lig, 1).Rows.Hidden = IIf(Lig < Target + 13, False, True)
Next
End If
End Sub
Tu as 3 réponses qui vont dans le même sens mais qui "ne fonctionne pas correctement"
Peut-être qu'il nous manque une info que seul ton fichier pourrait nous indiquer ?
Tu as raison Chaelie nos codes ne fonctionne que si l'on tape les valeurs de 0 à 20 à la suite mais dès que l'on tape directement une valeur intermédiaire, ça na fonctionne plus...
Alors... Je laisse les spécialistes se dépatouiller avec.
Mais la prochaine fois pense à donner ce genre d'information dans ton premier post... Car l'événementielle adéquate n'est plus Change mais Calculate si je ne m'abuse...
Comme je l’ai compris et avec la même réflexion que Papou-net …
Si on cache, on ne peut plus toucher aux cellules correspondantes donc, à part les cellules affichées, c’est figé.
Pour passer en mode actif (toucher aux cellules intermédiaires comme le dit Robert, il faut le prévoir donc voir l’exemple joint avec un bouton bascule.