if imbriqués pour afficher et masquer les lignes

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 !

chaelie2015

XLDnaute Accro
Bonjour Forum
je souhaite avoir un code des "if" imbriqués pour afficher et masquer les lignes selon le nombre saisié, je m'explique
j'ai un fichier
dans la cellule G41( jaune) nombre de lot des valeurs variable de 0 au 8
si je saisie la valeur 2 dans la cellule G41, il s'affiche que les lignes 44 et 76 seulement
après si je sélectionne dans la cellule AN44 (valeur entre 0 et 15 de la ligne 44) la valeur 3
j'aurais (il s'affiche) les lignes 46 au 51
et le mème raisonnement pour la cellule AN76 ( de la ligne 76) la valeur 5; j'aurais les ligne
78 au 87.
merci
 

Pièces jointes

Bonjour,
Je sais pas si j'ai pigé.
Voici un petit début pour voir si c'est ca
Par contre je comprends pas plus loin.
Code à mettre en worksheet_change
Bruno
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target < 1 Then Rows("45:1000").Hidden = False: Exit Sub

If Target.Address = "$G$41" Then
Rows("45:1000").Hidden = False
haut = 45: bas = 75
For k = 1 To Target.Value
Rows(haut & ":" & bas).Hidden = True
haut = haut + 32: bas = bas + 32
Next
End If
End Sub
 
Bonjour,
Je sais pas si j'ai pigé.
Voici un petit début pour voir si c'est ca
Par contre je comprends pas plus loin.
Code à mettre en worksheet_change
Bruno
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target < 1 Then Rows("45:1000").Hidden = False: Exit Sub

If Target.Address = "$G$41" Then
Rows("45:1000").Hidden = False
haut = 45: bas = 75
For k = 1 To Target.Value
Rows(haut & ":" & bas).Hidden = True
haut = haut + 32: bas = bas + 32
Next
End If
End Sub
Merci pour la réponse youky(BJ)
mais ca n'a pas fonctionné ????
a+
 

Pièces jointes

Voir si c'est mieux pour le début
Bruno
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target < 1 Then Rows("44:1000").Hidden = True: Exit Sub
If Target.Address = "$G$41" Then
haut = 45: bas = 75
nb = 1
For k = 44 To 139 Step 32
If nb <= Target.Value Then Rows(k).Hidden = False: nb = nb + 1
Next
End If
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
3
Affichages
455
Retour