Bonjour à tous,

Étant débutant sur le sujet, dans le cadre de mon apprentissage, j'effectue un fichier de suivi pour un client.
Pour cela j'utilise l'outil VBA pour le développement de cette outil.

Je bloque sur une fonction que je crée qui permet de quantifier le nombre de prestations réalisé entre le 1 au 7 du mois concerné, puis du 8 au 14, ainsi de suite. J'essaye de faire en sorte que la fonction s'utilise pour tout les mois, et toutes les années qui suivent.

Pour l'instant mon fichier excel contient 3 onglets:

-L'onglet "paramétrage" qui sert d'interface pour l'utilisateur.
-L'onglet "RapportSuivi" contient toutes les données à traiter. Il s'agit d'une liste de prestations.
-L'onglet "Suivi des commandes" permet de quantifier le nombre de commande par période, Par mois.

Ci joint le fichier excel. INDEX_TDB_2017.xlsm


Je souhaite donc remplir:
-les cases de B4 à B8 pour le mois de janvier.
-les cases de C4 à C8 pour le mois de février.
Ainsi dessuite, sachant que ce programme est censé fonctionner pour plusieurs année.
J'avais déjà créer une macro pour l'année 2016 mais j'aimerai en créer une nouvelle qui fonctionne peut importe l'année... C'est pourquoi voici mon code pour l'instant pour le mois de janvier pour la période T1 cellule (B4)

Voici un essai pour la période du 1 au 7 (T
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
Sub activeDate()
 
' TEST
 
'T1
 
 Worksheets("RAPPORTSUIVI").Activate
 
Dim cpt As Double
Dim jetons As String
Dim DatT1Deb As Date
Dim DatT1Fin As Date
 
DDEB = Worksheets("PARAMETRAGE").Range("E13")
DFIN = Worksheets("PARAMETRAGE").Range("E14")
DatT1Deb = 1
DatT1Fin = 7
 
 Worksheets("RAPPORTSUIVI").Activate
 
Range("E2").Select
        Do While Not (IsEmpty(ActiveCell))
            li = ActiveCell.Row
 
 
 
            If Month(Worksheets("PARAMETRAGE").Range("E14")) = "1" Then 'Si le mois est égale à Janvier alors on applique les options de janvier
               'MOIS JANVIER
 
 
                'If Day(Range(Cells(li, 8))) >= "01" And Day(Range(Cells(li, 8))) <= "07" Then
                If ActiveCell.Value = "Réalisation" And Cells(li, 25).Value <> "Annulée" And CDate(Cells(li, 8).Value) >= CSng(Day(DatT1Deb)) And CDate(Cells(li, 8).Value) <= CSng(Day(DatT1Fin)) Then 'tri en fonction des paramètres
                    jetons = Cells(li, 21).Value 
                    cpt = cpt + jetons 'compteur de jetons
                End If
                ' changer la position d'activecell
                Selection.Offset(1, 0).Activate
 
            Else
 
 
            End If
 
        Loop
 
' afficher le résultat du compteur après la boucle
 
 
                                        Sheets("PARAMETRAGE").Select
                                        MsgBox ("Mise à jour du mois de Janvier")
                                        Range("H13").FormulaR1C1 = "OK"
                                        Worksheets("SUIVI DES COMMANDES").Range("B4") = cpt ' on place le nombre de jetons dans la cellule B4
 
 
 
 
 
End Sub

Merci beaucoup d'avance pour votre aide. J'ai beaucoup de mal avec la gestion des dates.