Bonjour,

J'essaye d'alléger mon code, j'aimerais mettre un fonction qui m'incrémente, lorsque j'appelle ma fonction, un chiffre de 1 à 12 (représentant les mois de l'année)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Sub text1()
Dim i As Integer
i = 1
Do Until i = 12
Call comptercellules(2013, i)
i = i + 1
Loop
End Sub
J'ai pas envie à chaque fois de réécrire la ligne call pour chaque mois.
Alors j'ai essayé avec la fonction Do mais j'ai l'impression que je peux pas mettre de i à l'interieur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Sub text1()
Call comptercellules(2013, 1)
Call comptercellules(2013, 2)
Call comptercellules(2013, 3)
Call comptercellules(2013, 4)
..........
End Sub

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
Function comptercellules(strtext As String, strtext1 As String) As Long
'Dim comptercellules As Integer
Dim Cellules As Range
Dim LaDerniere As Integer
Dim i As Integer
 
 
        LaDerniere = Worksheets("CUR SEMAINE").Cells(56555, 1).End(xlUp).Row
 
        For i = 1 To LaDerniere
 
        If Month(Range("A" & i).Value) = strtext1 And Year(Range("A" & i).Value) = strtext Then   ' modifiez le code couleur 38 par celui de votre choix
            comptercellules = comptercellules + 1
            End If
 
               Next i
 
Dim Plage As Range
 
  For Each Cellules In Worksheets("Feuil1").Range("a1:a" & Worksheets("Feuil1").Range("a" & Worksheets("Feuil1").Rows.Count).End(xlUp).Row)
    If Month(Cellules) = strtext1 And Year(Cellules) = strtext Then
      If Plage Is Nothing Then Set Plage = Cellules(1, 2) Else Set Plage = Union(Plage, Cellules(1, 2))
    End If
 
  Next Cellules
  Worksheets("Feuil1").Select
  If Not Plage Is Nothing Then Plage.Select
  Plage.Value = comptercellules
 
End Function
 
 
Sub text1()
Dim i As Integer
 
i = 1
Do Until i = 12
Call comptercellules(2013, i)
i = i + 1
Loop
 
End Sub