Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Suppression sur critere date.

2 réponses
Avatar
glop
Bonjour,
Je dispose d'une série d'enregistrements (plusieurs centaines),
organisés en lignes, que je peux trier par date.
J'incorpore régulièrement de nouveaux enregistrements sans problème.
Je souhaite supprimer automatiquement les enregistrements devenus
obsolétes, qui sont vieux qu'une certaine durée (3 ans à partir de la
date du jour par exemple).
J'imagine y arriver par extraction par l'intermédiaire d'un filtre puis
en écrasant ma liste de données.
Il y a t'il un moyen plus simple ?
Merci.

2 réponses

Avatar
JB
Bonsoir,

On suppose que la colonne Date de la BD est la 5eme.

Sub filtreSup()
[A1].AutoFilter field:=5, Criteria1:="<=" & _
CDbl(DateSerial(Year(Date) - 2, Month(Date), Day(Date)))

If MsgBox("Etes vous sûr?", vbYesNo) = vbYes Then
Range("_FilterDataBase").Offset(1,
0).Resize(Range("_FilterDataBase"). _
Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete
Shift:=xlUp
Else
MsgBox "Annulé"
End If
ActiveSheet.ShowAllData
End Sub


http://cjoint.com/?jBt71I2DK2


JB
http://boisgontierjacques.free.fr

On 27 sep, 18:15, glop wrote:
Bonjour,
Je dispose d'une série d'enregistrements (plusieurs centaines),
organisés en lignes, que je peux trier par date.
J'incorpore régulièrement de nouveaux enregistrements sans problème.
Je souhaite supprimer automatiquement les enregistrements devenus
obsolétes, qui sont vieux qu'une certaine durée (3 ans à partir de la
date du jour par exemple).
J'imagine y arriver par extraction par l'intermédiaire d'un filtre puis
en écrasant ma liste de données.
Il y a t'il un moyen plus simple ?
Merci.


Avatar
glop
Bonsoir,

On suppose que la colonne Date de la BD est la 5eme.

Sub filtreSup()
[A1].AutoFilter field:=5, Criteria1:="<=" & _
CDbl(DateSerial(Year(Date) - 2, Month(Date), Day(Date)))

If MsgBox("Etes vous sûr?", vbYesNo) = vbYes Then
Range("_FilterDataBase").Offset(1,
0).Resize(Range("_FilterDataBase"). _
Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete
Shift:=xlUp
Else
MsgBox "Annulé"
End If
ActiveSheet.ShowAllData
End Sub


http://cjoint.com/?jBt71I2DK2


JB
http://boisgontierjacques.free.fr

On 27 sep, 18:15, glop wrote:
Bonjour,
Je dispose d'une série d'enregistrements (plusieurs centaines),
organisés en lignes, que je peux trier par date.
J'incorpore régulièrement de nouveaux enregistrements sans problème.
Je souhaite supprimer automatiquement les enregistrements devenus
obsolétes, qui sont vieux qu'une certaine durée (3 ans à partir de la
date du jour par exemple).
J'imagine y arriver par extraction par l'intermédiaire d'un filtre puis
en écrasant ma liste de données.
Il y a t'il un moyen plus simple ?
Merci.



Bonjour,
Merci pour cette réponse aussi rapide qu'efficace. Nettement plus
élégant que la méthode "bourrine"" que j'envisageais.