Filtre entre deux 'Date - Heure

Bonjour à toutes et à tous,

Je cale depuis un moment sur un problème de filtre entre deux ‘Dates-Heures’.

1. Onglet ‘Procédure’ : l’utilisateur saisit en ‘C2’ ‘Date et heure’ de début et en ‘C3’ ‘Date et heure’ de fin.

2. Sous le bouton ‘Recherche des clients à contacter’ j’appelle le code :

Sub DureePreavis()
Sheets("ExportiCARe").Select
    Range("A1").Select
    Selection.CurrentRegion.Select
Selection.AutoFilter Field:=1, _
Criteria1:=">=" & Worksheets("Procédure").Range("C2").Text _
, Operator:=xlAnd, Criteria2:="<=" & Worksheets("Procédure").Range("C3").Text
Selection.Copy
     Worksheets("Données").Select
     Range("A1").Select
     ActiveSheet.Paste
     Application.CutCopyMode = False     
End Sub

3. Onglet ‘Données’, je souhaite retrouver les données comprises entre ‘C2’ et ‘C3’ de l’onglet ‘Procédure’

Merci d’avance pour votre aide.

Bien cordialement.

83procedure-greve.xlsm (222.77 Ko)

Bonjour,

Essaie ainsi :

Sub DureePreavis()
    Dim crit1, crit2
    With Worksheets("Procédure")
        crit1 = Replace(.Range("C2").Value2, ",", ".")
        crit2 = Replace(.Range("C3").Value2, ",", ".")
    End With
    With Worksheets("ExportiCARe")
        .Range("A1").AutoFilter 1, ">=" & crit1, xlAnd, "<=" & crit2
        .Range("A1:J" & .Range("A" & .Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible) _
         .Copy Worksheets("Données").Range("A1")
    End With
    Worksheets("Données").Activate
End Sub

Cordialement.

Bonjour,

Ma modeste contribution (mais je préfère celle de MFerrand

Sub DureePreavis()
DerLigne = Sheets("ExportiCARe").UsedRange.Rows.Count
L = Sheets("Données").UsedRange.Rows.Count + 1

    For i = 2 To Sheets("ExportiCARe").UsedRange.Rows.Count
        If Sheets("ExportiCARe").Range("A" & i).Value >= Range("Début").Value Then
            If Sheets("ExportiCARe").Range("A" & i).Value <= Range("Fin").Value Then
               For X = 1 To 10
                Sheets("Données").Cells(L, X) = Sheets("ExportiCARe").Cells(i, X)
               Next
            End If
            L = L + 1
        End If
    Next
End Sub

Bonsoir à tous les deux, et merci pour votre aide.

J'ai retenu la solution de MFerrand, elle me convient parfaitement

Encore merci !

Rechercher des sujets similaires à "filtre entre deux date heure"