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)
J'ai pas envie à chaque fois de réécrire la ligne call pour chaque mois.
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
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
Partager