Autres Effacer les cellules sous conditions

chaelie2015

XLDnaute Accro
Bonjour Forum
Mon souci est le suivant :
1. si j'efface ou je change la valeur dans la cellule B5 (c'est une liste déroulante ) alors toutes les cellules (B7, B9 et B11) s'effacent automatiquement.
2. si j'efface ou je change la valeur dans la cellule B7 (c'est une liste déroulante ) alors les cellules ( B9 et B11 SEULEMENT) s'effacent automatiquement .
3. si j'efface ou je change la valeur dans la cellule B9 (c'est une liste déroulante ) alors que la cellule B11 s'efface automatiquement.
Salutations
 

Pièces jointes

  • CHARLIE Effacer les listes.xlsx
    9.4 KB · Affichages: 8

job75

XLDnaute Barbatruc
Bonjour chaelie2015, le fil,

Ma solution :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set r = [B5,B7,B9,B11]
Set Target = Intersect(Target, r)
If Target Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
For Each r In r
    If r.Row > Target.Row Then r = ""
Next r
Application.EnableEvents = True 'réactive les évènements
End Sub
A+
 

Pièces jointes

  • CHARLIE Effacer les listes(1).xlsm
    15.7 KB · Affichages: 7

job75

XLDnaute Barbatruc
Une solution sans boucle donc plus rapide s'il y a beaucoup de cellules :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set r = [B5,B7,B9,B11]
Set Target = Intersect(Target, r)
If Target Is Nothing Then Exit Sub
Set Target = Intersect(Target(2).Resize(Rows.Count - Target.Row), r)
If Target Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
Target = ""
Application.EnableEvents = True 'réactive les évènements
End Sub
 

Pièces jointes

  • CHARLIE Effacer les listes(2).xlsm
    15.9 KB · Affichages: 2

Discussions similaires