XL 2013 Effacer une plage de cellules suivant 2 conditions

  • Initiateur de la discussion Initiateur de la discussion Onil62
  • 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 !

Onil62

XLDnaute Nouveau
Bonjour,

Je suis débutant sur VBA et je n'arrive pas à résoudre ce problème :

J'ai un tableau excel qui permet de gérer, en autre, le personnel en fonction de leur affection sur chantier.
Les colonnes "Liste du personnel" et "Responsable" évoluent, notamment lorsqu'il y a du personnel intérimaire ou lorsque le personnel change de chantier.
En résumé, je souhaiterai effacer une plage de cellules en fonction de 2 conditions.
Exemple : Si la cellule B6 affiche, par le biais d'une formule, "Vide" ET la cellule C6 est vide alors on efface sans bouton de commande la plage de cellules D6:BC6.

Merci d'avance pour votre aide,
 

Pièces jointes

Solution
Bonsoir Onil,
En PJ un essai avec un Worksheet_Change qui doit être obligatoirement dans la feuille considérée:
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Column = 2 Or Target.Column = 3 Then
        If Cells(Target.Row, 2) = "Vide" And Cells(Target.Row, 3) = "" Then
            Range("D" & Target.Row & ":BC" & Target.Row).ClearContents
        End If
    End If
End Sub
Bonsoir Onil,
En PJ un essai avec un Worksheet_Change qui doit être obligatoirement dans la feuille considérée:
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Column = 2 Or Target.Column = 3 Then
        If Cells(Target.Row, 2) = "Vide" And Cells(Target.Row, 3) = "" Then
            Range("D" & Target.Row & ":BC" & Target.Row).ClearContents
        End If
    End If
End Sub
 

Pièces jointes

re onil62 bonsoir le forum
je vous propose cette macro qui va boucler sur toute la feuille
VB:
Sub SUPPRIMER()
Calculate
Dim J As Long
Sheets("Feuil1").Select

li = Sheets("Feuil1").Cells(36000, 1).End(xlUp).Row
  For J = li To 1 Step -1
     If Range("B" & J) = "Vide" And Range("C" & J) = "" Then Rows(J).Range("D1:BC1").ClearContents
  Next J

End Sub
cordialement
galougalou
 

Pièces jointes

- 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
4
Affichages
956
Retour