Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…