Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

supprimer ligne selon date

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

patsyl60

XLDnaute Occasionnel
Bonjour à tous.

Je souhaite dans un tableau supprimer les lignes selon la date . Exemple, dans une stat de ventes produits de l'année 2008, je voudrais faire une feuille uniquement pour le mois de janvier.Je ne trouve pas le code vba correspondant aux dates. Pouvez vous m'aider?

D'avance merci.

Patsyl60 😕
 
Re : supprimer ligne selon date

Re bonjour, J'avance doucement ... Voila mon debut de macro :
Sub dat()
Dim x
For x = 2 To 11
Range("b" & x).Select
If ActiveCell.Value > 2 / 1 / 2009 Then ActiveCell.EntireRow.Delete
Next x
End Sub


Mais cela ne fonctionne pas. Cela ne prend pas la bonne date.

Petit fichier exemple en pièce jointe.

Merci de votre aide.

Patsyl60
 

Pièces jointes

Re : supprimer ligne selon date

bonjour patsyl,

essaye le code ci:dessous :

Code:
Sub test()
Dim i As Integer
For i = Range("B65536").End(xlUp).Row To 2 Step -1
    If Cells(i, 2).Value > #1/2/2009# Then Rows(i).Delete
Next i
End Sub

bon dimanche
@+
 
Re : supprimer ligne selon date

Merci beucoup Pierrot. Cela fontionne.

Et si je dois supprimer entre deux dates ?

J'ai testé cette formule pour avoir le mois de février uniquement , mais cela ne fonctionne pas :

If Cells(i, 2).Value > #1/31/2009# < #3/1/2009# Then Rows(i).Delete

Peux tu m'aider ?

Patsyl60
 
Re : supprimer ligne selon date

salut patsyl60
Bonjour le fil
Bonjour le Forum
date de début en Range("D1")
date de fin en Range("E1")

Code:
If Cells(i, 2) > [B]Range("D1")[/B] And Cells(i, 2) < [B]Range("E1")[/B] Then Rows(i).Delete

arff salut pierrot
 
Re : supprimer ligne selon date

Bonjour tous


Une autre méthode (avec le filtre automatique)

Code:
Sub supprdates()
cda = CLng(DateSerial(2009, 2, 1))
    With Range(Range("B1"), Range("B65536").End(xlUp))
        .AutoFilter 1, ">=" & cda, xlAnd, "<=" & cda
    End With
Range("_FilterDataBase").Offset(1, 0).Resize(Range("_FilterDataBase"). _
Rows.Count - 1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
ActiveSheet.AutoFilterMode = False
End Sub

A+
 
Re : supprimer ligne selon date

Re

pour ne garder que février :

Code:
For i = Range("B65536").End(xlUp).Row To 2 Step -1
    If Cells(i, 2).Value < #2/1/2009# Or Cells(i, 2).Value > #3/1/2009# Then _
        Rows(i).Delete
Next i

Edition : Bonjour Jean-Marie🙂, vbascrumble
 
Dernière édition:
Re : supprimer ligne selon date

Re tous


En modifiant les critères fournis par Pierrot93
(car sinon il restait le 01/03/09)

Code:
Sub supprimedatesentrebornes()
datd = CLng(DateSerial(2009, 2, 1))
datf = CLng(DateSerial(2009, 2, 28))
    With Range(Range("B1"), Range("B65536").End(xlUp))
        .AutoFilter 1, "<" & datd, xlOr, ">" & datf
    End With
Range("_FilterDataBase").Offset(1, 0).Resize(Range("_FilterDataBase"). _
Rows.Count - 1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
ActiveSheet.AutoFilterMode = False
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
379
Réponses
4
Affichages
441
Réponses
5
Affichages
267
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…