Bonjour à tous,

je m'adresse une nouvelle fois à vous dans le but d'éclaircir mes pensées...
Je recherche le moyen de selectionner un plage de cellule, repérées par leur date et heure (dans la même cellule), tout en ayant la possibilité de sortir un partie de cette plage.

Pour le moment, j'ai réalisé un bout de code qui me permet de selectionner un plage de cellule seulement en fonction de la date, il me manque la précision sur les heures pour laquelle je pensait opérer par un format Byte.

Pour le reste je ne saurais comment restreindre mes données...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Option Explicit
 
Private Sub CommandButton1_Click()
'Sub Init_LstCpt()
 
    Dim DateDebut As Date
    Dim DateFin As Date
    Dim WS1 As Worksheet
    Dim WS2 As Worksheet
    Dim k As Integer
    Dim Total1 As Double
    Dim Total2 As Double
    Dim Total3 As Double
    Dim Total4 As Double
    Dim Valeur1 As Date
    Dim Valeur2 As Date
 
 Application.Calculation = xlCalculationManual
 Application.ScreenUpdating = False
 
    Set WS1 = ThisWorkbook.Worksheets("Feuil1")
    Set WS2 = ThisWorkbook.Worksheets("Feuil2")
     WS2.Cells.ClearContents
 
 
    DateDebut = TextBox1 'Valeur de date sous la forme jj/mm/aaaa
    DateFin = TextBox2 'Valeur de date sous la forme jj/mm/aaaa
 
 
    With WS1
 
        .Cells(1, 1).AutoFilter Field:=2, Criteria1:="<=" & CDec(DateFin), _
            Operator:=xlAnd, Criteria2:=">=" & CDec(DateDebut)
        On Error GoTo 1
        .Cells(1, 1).CurrentRegion.Copy Destination:=WS2.Cells(1, 1)
        On Error GoTo 0
    End With
 
 
 
    With WS2
 
        k = .Cells(.Rows.Count, 1).End(xlUp).Row
        If k < 2 Then
            MsgBox "Aucun resultat"
            GoTo 1
        End If
        Total1 = WorksheetFunction.Sum(.Range(.Cells(2, 3), .Cells(k, 3)))
        Cells(6, 9).Select     'permet de faire la moyenne sur la colonne sur la plage de date sélectionnée
    ActiveCell.Value = Total1 / k
        Total2 = WorksheetFunction.Sum(.Range(.Cells(2, 4), .Cells(k, 4)))
        Cells(7, 9).Select      'permet de faire la moyenne sur la colonne sur la plage de date sélectionnée
    ActiveCell.Value = Total2 / k
        Total3 = WorksheetFunction.Sum(.Range(.Cells(2, 5), .Cells(k, 5)))
        Cells(8, 9).Select      'permet de faire la moyenne sur la colonne sur la plage de date sélectionnée
    ActiveCell.Value = Total3 / k
        Total4 = WorksheetFunction.Sum(.Range(.Cells(2, 6), .Cells(k, 6)))
        Cells(9, 9).Select      'permet de faire la moyenne sur la colonne sur la plage de date sélectionnée
    ActiveCell.Value = Total4 / k
    End With
 
1
    WS1.Cells(1, 1).AutoFilter
 
 
 Application.Calculation = xlCalculationAutomatic
 Application.ScreenUpdating = True
 
 
 
 
 
 
End Sub
Donc si jamais des idées vous viennent, n'hésitez pas !!!

Merci d'avance