if imbriqués pour afficher et masquer les lignes

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

  • CHARLIE if imbriqués pour afficher et masquer les lignes.xlsx
    38.3 KB · Affichages: 36

youky(BJ)

XLDnaute Barbatruc
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
 

chaelie2015

XLDnaute Accro
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

  • CHARLIE if imbriqués pour afficher et masquer les lignes v1.xlsm
    44.1 KB · Affichages: 29

youky(BJ)

XLDnaute Barbatruc
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
 

Discussions similaires

Réponses
12
Affichages
519

Statistiques des forums

Discussions
315 109
Messages
2 116 300
Membres
112 716
dernier inscrit
jean1234