Worksheet change ne se lance pas automatiquement

Ray -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

Je souhaite masquer une ligne en fonction de contenu d'une cellule (choix par menu déroulant).
A priori simple en visitant les forums, mais ça ne pmarche pas.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target(Range("F10")).Value = "CdP" Then
Rows("14:14").Hidden = True
ElseIf Target(Range("F10")).Value = "service" Then
Rows("14:14").Hidden = False
End If
End Sub

J'ai créé une macro pour test, et elle fonctionne quand elle est lancée seule :
Sub Ligne_masquée()
Rows("14:14").Hidden = True
End Sub

Pouvez-cvous m'aider ?

2 réponses

  1. Gyrus Messages postés 3360 Statut Membre 526
     
    Bonjour,

    Essaie comme cela :
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$F$10" Then
    If Target.Value = "CdP" Then
    Rows("14:14").Hidden = True
    ElseIf Target.Value = "service" Then
    Rows("14:14").Hidden = False
    End If
    End If
    End Sub

    A+
    0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Pas très claire ta macro
    La procédure ci-dessous réalise la tâche suivante
    - si la cellule cible (celle dont le changement doit provoquer le 
    masquage/démasquage) n'est pas F10, on ne fait rien
    - sinon
    si la cible vaut "CdP" on masque la ligne 14
    si la cible vaut "service" on démasque la ligne 14

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("$F$10")) Is Nothing Then Exit Sub
    If Target.Value = "CdP" Then
    Rows("14:14").Hidden = True
    ElseIf Target.Value = "service" Then
    Rows("14:14").Hidden = False
    End If
    End Sub

    Si ce n'est pas ça, expliques comment doit se dérouler ton scénario

    Cdlmnt
    0