Macro qui supprime les lignes pour les dates que l'on ne souhaite pas

bob4112

XLDnaute Nouveau
Bonjour,
J’ai un fichier Excel avec des données qui contiennent des dates. Je veux une macro qui me supprime les lignes dont les données ne sont pas entre 2 dates.
exemple:
j'aimerais inserer chacunes de ces dates
02/02/2013
31/03/2013
dans une cellules dans l'onget "feuil 1" et dans l'onglet "feuil 2" ma base de donnée puis en cliquand sur la macro, il ne me restera que les lignes entre ces deux dates
Pour une meilleure compréhension je vous mets mon fichier Excel en pièce jointe.

Cordialement
 

Fichiers joints

Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Macro qui supprime les lignes pour les dates que l'on ne souhaite pas

Bonjour à tous

bob4112
Voici une façon de faire (test OK sur ta pièce jointe)
Code:
Sub a() 'test OK
Dim dd&, df&
With Sheets("Feuil1")
    dd = CLng(.Range("E2").Value)
    df = CLng(.Range("E3").Value)
End With
Sheets("Infos du jour").Range("A1").AutoFilter _
    Field:=1, _
    Criteria1:=">=" & dd, Operator:=xlAnd, _
    Criteria2:="<=" & df
End Sub
 

DoubleZero

XLDnaute Barbatruc
Re : Macro qui supprime les lignes pour les dates que l'on ne souhaite pas

Bonjour, bob4112, Staple1600 :D, le Forum,

Peut-être, également, ainsi :

Code:
Option Explicit
Sub Ligne_supprimer_selon_date()
    Dim i As Long
    For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
        If Cells(i, "A") < Sheets("Feuil1").Range("e2") Or Cells(i, "A") > Sheets("Feuil1").Range("e3") Then Rows(i).Delete
    Next
End Sub
A bientôt :)
 

Staple1600

XLDnaute Barbatruc
Re : Macro qui supprime les lignes pour les dates que l'on ne souhaite pas

Bonjour 00 ;)

Histoire d'éviter de devoir pleurer les données perdues dans les limbes "exceliennes";)
Sortons plutôt les masques;)
Qu'en penses-tu, 00 ?

Code:
Sub Ligne_Masquer_selon_date()
    Dim i As Long
    For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
        If Cells(i, "A") < Sheets("Feuil1").Range("e2") Or Cells(i, "A") > Sheets("Feuil1").Range("e3") Then Rows(i).Hidden = True
    Next
End Sub
 

DoubleZero

XLDnaute Barbatruc
Re : Macro qui supprime les lignes pour les dates que l'on ne souhaite pas

Re-bonjour,

... Histoire d'éviter de devoir pleurer les données perdues dans les limbes "exceliennes";)...
Oui, Staple1600, tu as raison : en ces temps difficiles :(, il faut savoir économiser les mouchoirs ;) !

A bientôt :):)
 

Staple1600

XLDnaute Barbatruc
Re : Macro qui supprime les lignes pour les dates que l'on ne souhaite pas

Re


Juste pour le fun et pour les "ifophobes" ;)
Code:
Sub MasquerETDemasqueLignes_selon_dateII()
Dim ws As Worksheet: Set ws = Sheets("Feuil1")
Dim i As Long
Application.ScreenUpdating = False
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
    Rows(i).Hidden = _
    (Cells(i, "A") < ws.[e2] Or Cells(i, "A") > ws.[e3]) = _
    Not Rows(i).Hidden
Next
End Sub
NB: Quand on lance la macro une 1ere fois, les lignes sont masquées
quand on la relance une seconde fois, on revient à l'état initial
(Cela peut ne pas être inintéressant ;) )
 

Staple1600

XLDnaute Barbatruc
Re : Macro qui supprime les lignes pour les dates que l'on ne souhaite pas

Re

00:
Je viens de retester
En étant sur la feuille Infos du jour, je lance la macro, j'obtiens cela:
masquesz.png
 

DoubleZero

XLDnaute Barbatruc
Re : Macro qui supprime les lignes pour les dates que l'on ne souhaite pas

Re-bonjour,

... Pas chez moi :( : les lignes demeurent masquées :confused:...
Après avoir repris le fichier déposé en #1 puis créé un nouveau bouton... ça marche à la perfection :D.

Toutes mes excuses : j'ai dû faire une boulette :mad: !

Bravo et à bientôt :):)
 

Discussions similaires


Haut Bas