Worksheet change ne se lance pas automatiquement

Fermé
Ray - 9 oct. 2015 à 15:53
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 - 9 oct. 2015 à 16:20
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

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
9 oct. 2015 à 16:17
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
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
Modifié par ccm81 le 9/10/2015 à 16:21
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