Masquer automatiquement des lignes excel

Résolu
toopey77 -  
 toopey77 -
Bonjour,

Pourriez vous m'indiquez comment procéder pour cacher automatiquement des lignes en fonction de la valeur d'une cellule?

Ici : Si D4 = 1 => Ligne 9 à 88 maqués
Si D4 = 2 => Ligne 11 à 88 masqués
Si D4 = 3 => Ligne 13 à 88 maqués
Si D4 = 4 => Ligne 15 à 88 masqués etc...

Merci d'avance pour l'aide précieuse que vous pourrez me fournir ;)

1 réponse

  1. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Tu as déjà écrit ou utilisé des macros ?
    0
    1. toopey77
       
      Oui un peu;):
      voici celle que j'ai mis en place pour faire un essais:


      Sub VBA()
      If Range("d4") = "1" Then
      Rows("9:88").Select
      Selection.EntireRow.Hidden = True
      End If
      If Range("d4") = "2" Then
      Rows("11:88").Select
      Selection.EntireRow.Hidden = True
      End If
      If Range("d4") = "3" Then
      Rows("13:88").Select
      Selection.EntireRow.Hidden = True
      End If
      If Range("d4") = "4" Then
      Rows("15:88").Select
      Selection.EntireRow.Hidden = True
      End If

      If Range("d4") = "0" Then
      Rows("9:88").Select
      Selection.EntireRow.Hidden = False
      End If
      End Sub



      S'agissant d'un test, je n'ai fais que jusqu'à 4.
      Mon problème dans l'immédiat (ou la seule solution que j'ai trouvée)
      C'est si je met 1 en D4 toute mes lignes se masquent bien...

      seulement si je met 4 derrière rien ne se passe...

      Il faut que je réinitialise en mettant 0

      et ensuite mettre 4 pour que mes lignes se masquent bien...

      Ce n'est pas très grave mais j'aimerais savoir si il est possible de faire autrement?

      Merci à vous
      0
    2. toopey77
       
      C'est bon j'ai trouvé tout seul en faite ;))
      C'est logique:

      il suffis de sélectionner les cellules à remettre en place et de programmer leur retour ;))

      Pour ceux qui serait dans le même cas que moi voici la réponse ;)

      Sub VBA()
      If Range("d4") = "1" Then
      Rows("9:88").Select
      Selection.EntireRow.Hidden = True
      End If

      If Range("d4") = "2" Then
      Rows("11:88").Select
      Selection.EntireRow.Hidden = True
      Rows("9:10").Select
      Selection.EntireRow.Hidden = False
      End If

      If Range("d4") = "3" Then
      Rows("13:88").Select
      Selection.EntireRow.Hidden = True
      Rows("9:12").Select
      Selection.EntireRow.Hidden = False
      End If
      If Range("d4") = "4" Then
      Rows("15:88").Select
      Selection.EntireRow.Hidden = True
      Rows("9:14").Select
      Selection.EntireRow.Hidden = False
      End If

      Allez merci et bonne soirée.

      cordialement
      0