Suppression sur critere date.

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4857171
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
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.


glop
Le #4856451
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
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.


Publicité
Poster une réponse
Anonyme