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
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
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