Masquer automatiquement des lignes en fonction d'une celulle

Résolu
kikou93 Messages postés 438 Statut Membre -  
kikou93 Messages postés 438 Statut Membre -
Bonjour,

J'ai un travail à faire et je voudrais demander votre aide pour le sujet suivant :

Je voudrais masquer automatiquement les lignes en fonction de la celulle G18 comme suite :

Si G18=0 ou G18 ="" ---> masquer les lignes de 31 jusqu'à 64;
Si G18=1 ="" ---> masquer les lignes de 37 jusqu'à 64;
Si G18=2 ="" ---> masquer les lignes de 39 jusqu'à 64;
Si G18=3 ="" ---> masquer les lignes de 41 jusqu'à 64;
Si G18=4 ="" ---> masquer les lignes de 43 jusqu'à 64;
Si G18=5 ="" ---> masquer les lignes de 45 jusqu'à 64;
Si G18=6 ="" ---> masquer les lignes de 47 jusqu'à 64;
Si G18=7 ="" ---> masquer les lignes de 49 jusqu'à 64;
Si G18=8 ="" ---> masquer les lignes de 51 jusqu'à 64;
Si G18=9 ="" ---> masquer les lignes de 53 jusqu'à 64;
Si G18=10 ="" ---> masquer les lignes de 55 jusqu'à 64;
Si G18=11 ="" ---> masquer les lignes de 57 jusqu'à 64;
Si G18=12 ="" ---> masquer les lignes de 59 jusqu'à 64;
Si G18=13 ="" ---> masquer les lignes de 60 jusqu'à 64;
Si G18=14 ="" ---> masquer les lignes de 62 jusqu'à 64;
Si G18>=15 ="" ---> ne rien masquer.

Aidez-moi s'il vous plaît

Merci d'avance
--
Comment ça marche c'est cool! 
      1000 Merci les Amis

2 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    A mettre dans la feuille concernée:

    Option Explicit
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("G18")) Is Nothing Then
    Select Case Target.Value
    Case Is = ""
     Rows("30:65").EntireRow.Hidden = False 'affiché
     Rows("31:64").EntireRow.Hidden = True 'masqué
    Case Is = 0
     Rows("30:65").EntireRow.Hidden = False
     Rows("31:64").EntireRow.Hidden = True
     Case Is = 1
     Rows("30:65").EntireRow.Hidden = False
     Rows("37:64").EntireRow.Hidden = True
      Case Is = 2
     Rows("30:65").EntireRow.Hidden = False
     Rows("39:64").EntireRow.Hidden = True
     'etc
     '********************
     '*************************
     'tu continues à remplir les manquants suivant les exemples
     
       Case Is = 14
     Rows("30:65").EntireRow.Hidden = False
     Rows("62:64").EntireRow.Hidden = True
        Case Is >= 15
     Rows("30:65").EntireRow.Hidden = False 'affiché
    End Select
    End If
    End Sub
    


    0
    1. kikou93 Messages postés 438 Statut Membre 1
       
      Désolé de te déranger encore mais ça n'a pas marché et je ne sais pas pourquoi, mon travail est loin d'être terminé mais voici un échantillon (peux-tu le modifier directement s'il te plaît) :

      http://www.cjoint.com/c/FBer1HDKE8H

      La valeur de G18 et dans la cellule M29
      0
    2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Désolé de te déranger encore mais ça n'a pas marché et je ne sais pas pourquoi,

      Voilà l'exemple:

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not Application.Intersect(Target, Range("G18")) Is Nothing Then


      et voilà ce que tu as mis:

      Private Sub Worksheet_Activate()
      If Not Application.Intersect(Target, Range("G18")) Is Nothing Then


      et il faut rectifier la cellule G18 par M29
      0