Masquer ds lignes en fonction d'un nombre entré dans une cellule

Résolu
lilou963 Messages postés 12 Statut Membre -  
lilou963 Messages postés 12 Statut Membre -
Bonjour,

Je vous explique mon problème:

J'ai 3 tableaux (ces tableaux peuvent comporter maximum 50 lignes), le problème étant que lorsque j'ai uniquement 10 lignes de tableau, il y a trop d'espace vide entre mes tableaux.

Pour combler ce vide:
Je voudrais qu'en entrant un nombre par exemple 10 dans la cellule E4 de mon fichier, les lignes 29 à 74 se masquent.
Ainsi de suite pour mes autres tableaux.

Si j'entre 8 dans la cellule E6, les lignes 86 à 132 se masquent automatiquement.

Voici le lien du fichier:
https://www.cjoint.com/c/GFciRXBcF2s

Un grand MERCI pour votre aide :) :)

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    votre fichier modifie avec controle entree numerique, vide et un max de lignes a afficher

    https://mon-partage.fr/f/9LY2xo36/

    Code VBA dans la feuille
    1
    1. lilou963 Messages postés 12 Statut Membre
       
      bonjour,

      Merci pour cette réponse mais je n'arrive pas à ouvrir votre fichier.
      C'est possible de me l'envoyer avec cjoint ou envoyer le code ???

      D'avance merci
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > lilou963 Messages postés 12 Statut Membre
         
        Bonjour,

        https://www.cjoint.com/c/GFgiyJlJDof

        Je ne vois pas trop ce que ca va changer!

        A defaut le code a mettre dans feuille
        Private Sub Worksheet_Change(ByVal Target As Range)
            If Target.Count > 1 Then Exit Sub
            If Not Intersect(Target, Range("E4,E6,E8")) Is Nothing Then
                lig = Target.Row: Of7 = Target.Value
                If lig = 4 Then
                    'ligne de depart:19 max:74
                    Rows("19:74").EntireRow.Hidden = False
                    If Of7 <> "" And IsNumeric(Of7) And Of7 < 57 Then
                        Rows(19 + Of7 & ":74").EntireRow.Hidden = True
                    End If
                ElseIf lig = 6 Then
                    'ligne de depart:77 max:132
                    Rows("77:132").EntireRow.Hidden = False
                    If Of7 <> "" And IsNumeric(Of7) And Of7 < 57 Then
                        Rows(77 + Of7 & ":132").EntireRow.Hidden = True
                    End If
                ElseIf lig = 8 Then
                    'ligne de depart:134 max:190
                    Rows("135:190").EntireRow.Hidden = False
                    If Of7 <> "" And IsNumeric(Of7) And Of7 < 57 Then
                        Rows(135 + Of7 & ":190").EntireRow.Hidden = True
                    End If
                End If
            End If
        End Sub
        
        0
      2. lilou963 Messages postés 12 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        Comme je suis au travail, l'accès à ce genre de site (parateg.fr) est vérouillé.

        En tout cas un grand MERCI à toi.
        Ca fonctionne très bien !! :)
        0