Suppression des lignes

Bonsoir le Forum

Je souhaiterai savoir s'il est possible, par le biais d'un code, de supprimer les lignes selon le critère suivant :

dates antérieures à aujourd'hui repris => infos reprises dans la colonne M

exemple repris sur le fichier en pj

merci de vos commentaires avisés

12test-a.zip (10.65 Ko)

Bonsoir

Dans cette colonne M il y a aussi des cellules vides. Elles doivent rester ou pas ?

A te relire

Edit Dan : vois le fichier joint mais qui laisse les lignes ne contenant pas de date. Le bouton est en Q1.

14cb44.zip (14.47 Ko)

bonjour Dan

effectivement tu as raison, pour éviter ce problème, il vaut mieux partir sur la colonne L et avec le principe suivant :

tous les dates antérieures à aujourd'hui - 7 jours devront être effacées

merci de votre aide

Bonjour à tous, salut Dan,

autre version avec filtre élaboré

(suivant ta dernière demande)

Sub SupprLignes()
'Macro par Claude Dubois pour "chb44" Excel-Pratique le 15/04/11
Dim Plg As Range
    Set Plg = Range("a2:p" & [a65000].End(xlUp).Row)
    Application.ScreenUpdating = False
    '--- filtre ---
    Range("s2") = "=and(L3<>"""",L3<today()-7)" 'critères
    Plg.AdvancedFilter Action:=xlFilterInPlace, _
    CriteriaRange:=Range("s1:s2"), Unique:=False
    '--- suppr lignes ---
    Plg.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    Range("s2").ClearContents
    On Error Resume Next
    ActiveSheet.ShowAllData
    Application.Goto Range("a1"), Scroll:=True
End Sub

Amicalement

Claude

Re,

Dans le fichier que j'ai proposé, remplace le code par celui-ci

Sub test()
'Macro Dan pour Cb44
Dim dlg As Integer
Dim i As Integer
Application.ScreenUpdating = False
dlg = ActiveSheet.UsedRange.Rows.Count
For i = 128 To 2 Step -1
    If Range("L" & i) < Now - 7 And Not IsEmpty(Range("L" & i)) Then
    Rows(i).Delete
End If
Next
End Sub

Amicalement

Cela fonctionne à merveille !

un grand merci !!!

Rechercher des sujets similaires à "suppression lignes"