Bonjour à tous,
Alors je débute en VBA : j'ai un tableau de facture avec leurs dates et leurs montants (donc 2 colonnes) et j'aimerais pouvoir trier par exemple par mois, pour ensuite additionner les montants sur le mois sélectionné.

J'ai un souci sur la sélection des montants correspondants au mois sélectionné;

Voici comment je filtre la période souhaité (code trouvé sur le forum) :
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
Sub SelectPeriode()
    Dim rng As Range
    Dim rngUsed As Range
    Dim strCrit1 As String
    Dim strCrit2 As String
    Dim Date1 As Variant
    Dim Date2 As Variant
 
    ' date de début de période; 
    Date1 = DateValue("2009/01/01")
    ' date de fin de période;
    Date2 = DateValue("2009/01/31")
 
    ' Comme la méthode AutoFilter de l'objet Range ne travaille qu'avec le format US des dates
    '   il faut traduire nos dates et les mettre en texte pour les critères...
    strCrit1 = ">=" & CStr(Month(Date1)) & "/" & CStr(Day(Date1)) & "/" & CStr(Year(Date1))
    strCrit2 = "<=" & CStr(Month(Date2)) & "/" & CStr(Day(Date2)) & "/" & CStr(Year(Date2))
 
    With Worksheets("Feuil2")
        Set rngUsed = .UsedRange
        .AutoFilterMode = False
 
        ' Cette ligne assume que les dates sont dans la nième colonne de la plage (Field:=n)
        rngUsed.AutoFilter Field:=2, Criteria1:=strCrit1, Operator:=xlAnd, Criteria2:=strCrit2
Ensuite comment puis-je sélectionner dans la colonne 1 les montants concernés puisque rngUsed est la range de la colonne 2 -> la colonne des dates...
Le but étant ensuite de faire le montant total (somme) des factures.

Merci d'avance