Sub SupLigExpire()
Application.ScreenUpdating = False
ActiveSheet.ListObjects(1).Name = "Tablo" ' On s'afranchit du nom du tableau en le renommant
For L = [tablo].ListObject.ListRows.Count To 1 Step -1 ' Pour chaque ligne
If [tablo].Item(L, 8) = "EXPIRE" Then [tablo].Item(L, 8).Delete xlUp ' On supprime la ligne si EXPIRE
Next L
End Sub
Sub SupprimeEXPIRE()
With ListObjects(1).Range
.Sort .Columns(8), xlAscending, Header:=xlYes 'tri pour regrouper et accélérer
On Error Resume Next 'si aucune SpecialCell
.Columns(8).SpecialCells(xlCellTypeFormulas, 2).Delete xlUp
End With
End Sub
Sub SupprimeEXPIRE()
Application.ScreenUpdating = False
With ListObjects(1).Range
.Columns(8).Insert xlToRight 'insère une colonne auxiliaire
.Columns(8) = "=ROW()": .Columns(8) = .Columns(8).Value 'numérotation
.Sort .Columns(9), xlAscending, Header:=xlYes 'tri pour regrouper et accélérer
On Error Resume Next 'si aucune SpecialCell
.Columns(9).SpecialCells(xlCellTypeFormulas, 2).Delete xlUp
.Sort .Columns(8), xlAscending, Header:=xlYes 'tri dans l'ordre initial
.Columns(8).Delete xlToLeft 'supprime la colonne auxiliaire
End With
End Sub
Sub SupprimeEXPIRE()
Application.ScreenUpdating = False
ActiveSheet.ListObjects(1).Name = "Tablo"
With ListObjects(1).Range
.Columns(8).Insert xlToRight 'insère une colonne auxiliaire
.Columns(8).FormulaLocal = "=SI(Tablo[[#Cette ligne];[Colonne1]]=""EXPIRE"";"""";1)": .Columns(8) = .Columns(8).Value ' 1 si non expiré
.Sort .Columns(8), xlDescending, Header:=xlYes 'tri pour regrouper et accélérer
On Error Resume Next 'si aucune SpecialCell
.Columns(8).SpecialCells(xlCellTypeBlanks, 2).Delete xlUp
.Columns(8).Delete xlToLeft 'supprime la colonne auxiliaire
End With
End Sub
Sub SupprimeEXPIRE()
Application.ScreenUpdating = False
With ListObjects(1).Range
.Columns(8).Insert xlToRight 'insère une colonne auxiliaire
.Columns(8) = "=1/ISNUMBER(RC[1])": .Columns(8) = .Columns(8).Value
.Sort .Columns(8), xlAscending, Header:=xlYes 'tri pour regrouper et accélérer
On Error Resume Next 'si aucune SpecialCell
.Columns(8).SpecialCells(xlCellTypeConstants, 16).Delete xlUp
.Columns(8).Delete xlToLeft 'supprime la colonne auxiliaire
End With
End Sub
Sub SupprimeEXPIRE()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ActiveSheet
.ListObjects(1).Name = "Tablo"
If .AutoFilterMode Then .AutoFilterMode = False
.ListObjects("Tablo").Range.AutoFilter Field:=8, Criteria1:="EXPIRE"
.Range("Tablo").SpecialCells(xlCellTypeVisible).Delete
.ListObjects("Tablo").Range.AutoFilter Field:=8
End With
Application.DisplayAlerts = True
End Sub