"VBA: avoir un macro  qui m'aiderais à afficher/masquer"

mawur Messages postés 1 Statut Membre -  
danielc0 Messages postés 2192 Date d'inscription   Statut Membre Dernière intervention   -

salut et désolé du dérangement

je suis trèèèèèèèèèèès novice en langage VBA .  j'aimerais un macro  qui m'aiderais à afficher/masquer une ligne selon la valeur d'une liste déroulante.

je m'explique

j'ai une liste déroulante en "L12" et des données par Recherchev dans les cellules "C29:C32"

j'aimerai que pour une valeur "x" de L12 si une cellule entre "C29:C32" est vide ("") alors que la ligne en question soit masquer 

mais quand pour une valeur de "y" que la macro tienne compte des nouvelles données et affiche le(s) ligne(s) masqué au cas ou celles-ci ne sont pas vide et ainsi de suite 

j'utilisais le code que voici mais hélas 

Sub Masque_lig()
Application.ScreenUpdating = False
Dim cellule As Range
For Each cellule In Range("C29:C32")
If cellule.Value = "" Then
cellule.EntireRow.Hidden = True
Else
cellule.EntireRow.Hidden = False
End If
Next cellule
End Sub

prière m'aider.

1 réponse

  1. danielc0 Messages postés 2192 Date d'inscription   Statut Membre Dernière intervention   287
     

    Bonjour,

    Mets cette macro dans le module de la feuille (pas dans un module standard) :

    Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address = "$L$12" Then
        Application.EnableEvents = False
        If Target = "x" Then
          For Each cellule In Range("C29:C32")
            If cellule.Value = "" Then
              cellule.EntireRow.Hidden = True
            End If
          Next cellule
        ElseIf Target = "y" Then
          For Each cellule In Range("C29:C32")
            If cellule.Value = "" Then
              cellule.EntireRow.Hidden = False
            End If
          Next cellule
        End If
        Application.EnableEvents = True
      End If
    End Sub

    Daniel


    0