Bonjour,

Je cherche à faire une petite macro qui affiche sur un formulaire le résultat du comptage de dates en fonction de quelques critères.
Ce serait plus simple de le faire sur excel directement avec la formule sommeprod, mais je préfère que l'utilisateur clique sur un bouton et que les données soient affichées sur un formulaire.
Je me suis inspiré de ce que j'ai trouvé sur ce forum en passant par une fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Public Function CompterMois(Prod As String, Mois As Integer, Zone As Range) As Integer
 
For Each c In Zone
If Range(c).Offset(0, -15).Value = Prod Then
If IsDate(c) Then If Month(c) = Mois Then CompterMois = CompterMois + 1
End If
 
Next c
 
End Function
et le code lié à un bouton sur lequel clique l'utilisateur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
PlageStats = Range("U3:U" & Range("A65536").End(xlUp).Row).Address
 
FrmStat.IntNb01.Caption = CompterMois("CA", 1, Range(PlageStats))
FrmStat.IntNb02.Caption = CompterMois("CA", 2, Range(PlageStats))
FrmStat.IntNb03.Caption = CompterMois("CA", 3, Range(PlageStats))
FrmStat.IntNb04.Caption = CompterMois("CA", 4, Range(PlageStats))
 
Load FrmStat
FrmStat.Show
Quand je clique sur le bouton, j'ai une erreur d'exécution '1004':
La méthode 'Range' de l'objet '_Global' a échoué

et c'est la ligne:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
If Range(c).Offset(0, -15).Value = Prod Then
qui est surlignée.

Si quelqu'un a une petite idée, je suis preneur...

Merci d'avance pour votre aide.