Lancet une macro quand le contenu d'une cellule change

Bonjour,

Je souhaite excecuter une macro qui me permet de masquer des lignes quand le contenu d'une d'une celulle est modifié vie une liste déroulante (cellule G12).

Voici ce que j'ai déjà fait:

Sub selection_op()

If Range("G12") = "" Then

Rows("74:173").Select

Selection.EntireRow.Hidden = False

Range("G12").Select

End If

If Range("G12").Value = "Supplier pack - volume booster" Then

Range("74:74,77:124,129:129,137:161").Select

Selection.EntireRow.Hidden = True

End If

Range("G12").Select

End Sub

Il me reste à intégrer l'automatisation de l'éxecution quand je selectionne une nouvel élément dans ma liste en G12.

Pouvez-vous m'aider SVP?

Merci beaucoup

Bonjour

Macro à mettre dans le code de la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Range("G12"), Target) Is Nothing And Target.Count = 1 Then
    If Target = "" Then
      Rows("74:173").Hidden = False
    ElseIf Target = "Supplier pack - volume booster" Then
      Range("74:74,77:124,129:129,137:161").EntireRow.Hidden = True
    End If
  End If
End Sub

Bonjour geocatalina,

Fais un clic droit sur le nom de la feuille contenant ta liste déroulante puis clique sur visualiser le code puis colle le code suivant :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, [g12]) Is Nothing And Target.Count = 1 Then
        Call selection_op
    End If
End Sub

edit : Bonjour banzai !

Merci beaucoup pour votre aide!

çà fonctionne nickel!

j'avais le bon code mais je ne le copias pas dans la feuille qui contenait ma liste déroulante. c'était tout bête mais quand on ne sais pas...

encore merci.

Rechercher des sujets similaires à "lancet macro quand contenu change"