VBA sélection de données par tranche de date/heure

Bonjour,

J'aimerai extraire les données d'un classeur externe en choisissant la date et l'heure du début ainsi que la date et l'heure de fin.

J'ai jusqu'à maintenant réussi à récupérer les données d'une feuille à l'autre sans sélection de date.

Comment faire pour avoir une boite de dialogue (heure début / heure fin) et aller chercher les données dans un fichier externe sans l'ouvrir ?

PS : est ce que le code est optimisé ?

Merci de votre aide

Sub Gestion_Condi()

'Récupères les infos des flux sortant packing condi

Dim j As Integer, i As Integer
Dim cel As Range
Dim n As Integer

Range(Sheets("Condi").Range("U2"), Sheets("Condi").Range("AA40")).Delete Shift:=xlUp
j = 0
For Each cel In Range(Sheets("Condi").Range("A2"), Sheets("Condi").Range("A2").End(xlDown))
'Récupère les données dans un tableau temporaire
     If cel.Offset(0, 8).Value > 1 And cel.Offset(0, 7).Value <> "" Then
'heure fin'
        Sheets("Condi").Range("U2").Offset(j, 0) = cel.Offset(0, 12)
 'Ligne'
        Sheets("Condi").Range("U2").Offset(j, 1).Value = "Condi"
'Code PF'
        Sheets("Condi").Range("U2").Offset(j, 2) = cel.Offset(0, 0)
'N° Programme'
        Sheets("Condi").Range("U2").Offset(j, 3) = cel.Offset(0, 2)

        j = j + 1
    End If
Next

'compte le nombre d'actions déjà extractés
n = 0
While Sheets("Bilan Stock").Range("B3").Offset(n, 0) <> ""
    n = n + 1
Wend
n = n + 3

'Copie le tableau temporaire dans l'onglet bilan et le supprime
Range(Sheets("Condi").Range("U2"), Sheets("Condi").Range("U2").End(xlDown).Offset(0, 5)).Copy Destination:=Sheets("Bilan Stock").Range("B" & n)

End Sub
4test.xlsm (39.08 Ko)
Rechercher des sujets similaires à "vba selection donnees tranche date heure"