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

effacer le contenu des cellules selon la condition

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ilino

XLDnaute Barbatruc
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D1").Value = "1" Then
Range("E1").ClearContents
End If
End Sub
Bonsoir Forum
question très simple comment faire pour généraliser ce code sur l’ensemble des cellule de la colonne D et E
 
Re : effacer le contenu des cellules selon la condition

Bonsoir Ilino,
Si j'ai bien compris, comme ceci peut-être :

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 And Target.Value = "1" Then Target.Offset(0, 1).ClearContents
End Sub
 
Re : effacer le contenu des cellules selon la condition

Bonjour Ilino, Grand Chaman Excel,

Si l'on sélectionne plusieurs cellules, le code du post #2 beugue...

Utiliser plutôt :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r As Range
Set r = Intersect(Target, [D:D], Me.UsedRange)
If Not r Is Nothing Then
  For Each r In r 'si plusieurs cellules
    If r = "1" Then r(1, 2).ClearContents
  Next
End If
End Sub
A+
 
Re : effacer le contenu des cellules selon la condition

Bonjour job75, le forum,
Bien vu job75... je n'avais pas testé.
Une autre alternative :

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Target.Count = 1 Then
      If Target.Column = 4 And Target.Value = "1" Then Target.Offset(0, 1).ClearContents
   End If
End Sub
 
Re : effacer le contenu des cellules selon la condition

Re,

Dans ce cas j'écrirais plutôt :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column = 4 And ActiveCell.Value = "1" Then ActiveCell.Offset(0, 1).ClearContents
End Sub
ou encore :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 And Target(1).Value = "1" Then Target(1, 2)).ClearContents
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
508
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…