Sub SupDessous() ' pour traiter toute la colonne,
Dim Lr As Range, I As Long
Set Lr = Columns("B").Find("", , , , xlPrevious)
If Not Lr Is Nothing Then
For I = Lr.Row To 2 Step -1
Compress_Column Cells(I, "B")
Next
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = Columns("B").Column Then
Compress_Column Target(1)
End If
End Sub
Sub Compress_Column(Cell As Range)
Application.EnableEvents = False
Select Case Cell
Case Is = ""
Case Is <> Cell.Offset(-1)
Case Else: Cell.ClearContents
End Select
Application.EnableEvents = True
End Sub