XL 2019 effacer 2 cellules en fonction d'une autre

thum

XLDnaute Nouveau
Bjr à tous,
je cherche en vain à modifier un code pour effacer deux cellules en même temps en fonction d'une autre.j'y suis arriver pour une cellule mais je n'y arrive pas pour deux.J'ai un Tableau qui gère des cartes dans colonne A (nom) dans la F (rendu le) et dans la H (adresse mail) .Ce que je veux faire c'est que lorsque je met le date de retour dans la colonne F (rendu le) la cellule de la colonne H(Mail et A(Nom) s'efface.Je ne connais rien en Vba mais en pipant des codes sur le net ,je suis arrivé à faire effacer la cellule de la colonne H et je voudrais aussi effacer la cellule dans colonne A,là je bloque
Voici le code.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each Cell In Range("H2:H5")
If Not Cell.Offset(0, -2).Value = "" Then
Cell.Value = ""
End If
Next
End Sub

ABCDEFGH
NOMGROUPECARTELIBBELLE REMIS LERENDU LEDATE DE
RETOUR
+4 mois
arthurN°1PARIS
02/02/2019​
02/06/2019​
jr@li.fr
Pourriez-vous m'aider,Merci d'avance
Thum
 

job75

XLDnaute Barbatruc
Bonsoir thum,

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set r = Intersect(Target, Range("F2:F" & Rows.Count), UsedRange)
If Not r Is Nothing Then
    For Each r In r 'si entrées/effacements multiples
        Union(Range("A" & r.Row), Range("H" & r.Row)) = ""
    Next
End If
End Sub
A+
 

job75

XLDnaute Barbatruc
En fait il n'y a pas besoin de boucle, ceci sera très rapide :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set r = Intersect(Target, Range("F2:F" & Rows.Count), UsedRange)
If Not r Is Nothing Then Intersect(r.EntireRow, [A:A,H:H]) = ""
End Sub
 

Discussions similaires

Réponses
1
Affichages
164

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16