Extraire des lignes selon critere de date

Zouzou93

XLDnaute Occasionnel
Bonjour à toutes et tous,


Quelqu'un peut-il m'aider à créer une macro qui me permettrait d'extraires des lignes d'informations selon un critère de dates que je pourrai saisir dans une boîte d'invite (InputBox ????).
Le fichier comporte donc plusieurs colonnes avec des entêtes différentes dont une colonne avec dates.
Merci de votre aide.
Zouzou93
 

Zouzou93

XLDnaute Occasionnel
Re : Extraire des lignes selon critere de date

Bonjour Grodep,

Merci pour ta réponse. J'ai vu le fil ... mais ce n'est pas ce que je recherche.
Je te joins un exemple de ce que je recherche.
Merci par avance
Zouzou
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Extraire des lignes selon critere de date

Bonjourr à tous,

Je passe par une colonne supplémentaire et :
Code:
=TEXTE(ENT(E9),"mm/dd/yyyy")

Et tu filtres sur la date souhaitée

A+ à tous
 

Pièces jointes

  • JC EXTRACTION DATES.xls
    18.5 KB · Affichages: 144

grodep

XLDnaute Occasionnel
Re : Extraire des lignes selon critere de date

peux tu confirmer que toutes les dates sont au format américain ou c'est juste dans l'exemple?

PS : t'es dans l'aviation?

Edit : bonjour JCGL. bon ben le boulot est fait, j'ai plus qu'à aller me coucher moi :D
 

Zouzou93

XLDnaute Occasionnel
Re : Extraire des lignes selon critere de date

Merci JCGL,

Mais n'est-il pas possible d'avoir une macro qui me proposerait l'ouverture d'une boite type (Inputbox) et dans laquelle l'utilisateur n'aurait plus qu'à saisir la dat souhaitée et que ces données soit copiées sur une autre feuille ?

GRODEP,

Pour répondre à ta question , oui dans cette colonne E le format des dates sera toujours au format américain.

En fait je travaille dans le transport de marchandises en Aérien.

Merci encore
Zouzou
 

Zouzou93

XLDnaute Occasionnel
Re : Extraire des lignes selon critere de date

GFROPED,

Désolée, mais est ce que ma demande n'est pas réalisable sous forme de macro ?

Ce fichier s'adresse ensuite à d'autres utilisateurs qui ne sont pas forcéments à l'aise sur excel et que je préfère automatiser.

Merci par avance de ton aide
Zouzou
 

Zouzou93

XLDnaute Occasionnel
Re : Extraire des lignes selon critere de date

Bonjour à tout le Forum,


Enfin il me semblait avoir vu une réponse de PierreJean Vendredi 11 Decembre sur laquelle je souhaitais revenir pour aussi remercier ïerreJean mais que je ne retrace pas.
PierreJean, Serait-il possible de me retransmettre la réponse ?
Merci par avance
Zouzou :D
 

Zouzou93

XLDnaute Occasionnel
Re : Extraire des lignes selon critere de date

Rebonjour le Forum, C'est encore moi ...

J'essaye en vain d'appliquer le code qui m'a été transmis par PierreJean ...Qui fonctionne très bien sur l'exemple qu'il m'a remis mais qui ne fonctionne plus lorsque je l'applique à mon fichier ...

Désolée encore d'insister mais peut-on aider la sous douée des macros ?

Merci
Zouzou
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Extraire des lignes selon critere de date

Bonjour à tous,

Dans le fichier joint une conversion des dates en FR

Code:
Option Explicit

Sub Convertir()
Dim X As Long
Dim DerL As Long
Application.ScreenUpdating = 0
DerL = Sheets("Data").Range("A65000").End(xlUp).Row
For X = 1 To 45
   Sheets("Data").Range(Cells(1, X), Cells(DerL, X)).TextToColumns Destination:=Cells(DerL + 2, X), DataType:=xlDelimited
Next
Sheets("Data").Rows(DerL + 2 & ":100").Cut Sheets("Conver").Range("A1")
Sheets("Conver").Select
Range("A:A,E:H,K:N,AD:AG,AH:AJ,AP:AP").NumberFormat = "m/d/yyyy"
    Range("A1").Select
End Sub
Reste à savoir sur quelle colonne effectuer le tri en feuille 'Conver'.
Un simple filtre,ou plusieurs, sur cette feuille devrait suffire.

A+ à tous
 

Pièces jointes

  • JC Extraires Dates.xls
    41 KB · Affichages: 160

Zouzou93

XLDnaute Occasionnel
Re : Extraire des lignes selon critere de date

Merci beaucoup JCGL ... Ta macro fonctionne à merveille.
J'ai en revanche un autre soucis lorsque je rajoute la macro de Gerodep qui me permet de filtrer selon un critère de date .... Macro qui fonctionne d'ailleurs aussi très bien mais qui ne me permet pas ensuite de pouvoir continuer ma macro. Je reste bloquée à

Exit Sub 'sort de la procédure
fin: 'étiquette
MsgBox "Confirmer date !" 'message
GoTo debut 'rouvre la boîte...

Impossible d'activer l'instruction suivante juste après cette macro de filtrage.

Ci dessous detail de la macro..... Merci encore de votre aide.

Option Explicit

Sub DATER_FILTRE_PREALERT()
Dim X As Long
Dim DerL As Long
Dim dt As String 'déclare la variable dt (DaTe)
Dim ct As Date 'déclare la variable ct (CriTère)
Application.ScreenUpdating = 0

Cells.Select
Selection.Copy
ActiveWindow.WindowState = xlMinimized
Windows("MACRO PREALERT.xls").Activate
ActiveWindow.WindowState = xlMaximized
Cells.Select
ActiveSheet.Paste
Range("D6").Select

ActiveWindow.SmallScroll ToRight:=5
Range("P:R,T:X,Y:Y,AE:AE,AH:AK,AS:AT,AV:AV,AX:BA,BB:BE,BF:BF,BH:BO,BR:CK"). _
Select
Range("BR1").Activate
Selection.Delete Shift:=xlToLeft
Range("A1").Select


Sheets("Data").Select
DerL = Sheets("Data").Range("A65000").End(xlUp).Row
For X = 1 To 38
Sheets("Data").Range(Cells(1, X), Cells(DerL, X)).TextToColumns Destination:=Cells(DerL + 2, X), DataType:=xlDelimited
Next
Sheets("Data").Rows(DerL + 2 & ":5000").Cut Sheets("Conver").Range("A1")
Sheets("Conver").Select
Range("AA:AA").NumberFormat = "m/d/yyyy"
Range("A1").Select

Range("A1:AL65000").Sort Key1:=Range("AA1"), Order1:=xlDescending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Sheets("conver").Select
debut: 'étiquette
'si le filtre automatique est actif, supprime le filtre automatique
Columns("AA:AA").Select
Selection.AutoFilter
If Sheets("conver").FilterMode = True Then Sheets("conver").Range("AA:AA").AutoFilter field:=27, Criteria1:=ct
'définit la variable dt
dt = InputBox("Veuillez indiquer la date au format jj/mm/aa.", "CRITÈRE")
If dt = "" Then Exit Sub 'si la boite n'est pas renseignée, sort de la procédure
On Error GoTo fin 'gestion des erreurs (si la date n'est pas valide), va à l étiquette fin
ct = CDate(dt) 'définit la variable ct
'filtre les données de la première colonne par rapport au critère ct

Sheets("conver").Range("AA1").AutoFilter field:=27, Criteria1:=ct

Exit Sub 'sort de la procédure
Call CREER
fin: 'étiquette
MsgBox "Confirmer date !" 'message
GoTo debut 'rouvre la boîte...
Sheets("conver").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Workbooks.Add
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Selection.Columns.AutoFit
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
With Selection.Interior
.ColorIndex = 9
.Pattern = xlSolid
End With
Selection.Font.ColorIndex = 2
Selection.Font.Bold = True
With Selection.Font
.Name = "Arial"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 2
End With


End Sub

Merci
Zouzou :D
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 472
Messages
2 088 709
Membres
103 928
dernier inscrit
MIKETUAU