Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Combien de fois en un mois (partie 2)

1 réponse
Avatar
Denys
Bonjour,

Avec l'aide pr=E9cieuse de Daniel C, j'ai pu construire le bout de code
suivant:

Sub JrsTaches()
Dim L As Long
With ActiveSheet()
If Range("A3").Value =3D "" Then Exit Sub

L =3D .Range("A65536").End(xlUp).Row

Sheet12.Range("J22").FormulaArray =3D _
"=3DSUM(IF(FREQUENCY(IF($C$3:$C$" & L & "=3D""tis balancing"",MATCH($A$3:$A
$" & L & ",$A$3:$A$" & L & ",0),0),ROW($1:$14))>0,1,0)*(MONTH($A$3:$A
$" & L & ")=3DROW(G1)))"
.Range("J22:J33").FillDown
End With
End Sub

La formule de Daniel se lisait comme suit:

=3DSUM(IF(FREQUENCY(IF(ZNA=3D"tis balancing",MATCH(ZN,ZN,0),
0),ROW($1:$14))>0,1,0)*(MONTH(ZN)=3DROW(G1)))

o=F9 .Range("A3:A" & L).Name =3D "ZN"
.Range("C3:C" & L).Name =3D "ZNA"

Sauf que la formule de Daniel ne fonctionne que si ZN =3D A3:A17 et ZNA=3D
C3:C17 car dans l'exemple qu'il m'a offert, il y avait 17 lignes....

Th=E9oriquement, cette formule devarit fonctionner peu importe le nombre
de lignes... non? Dans mon cas, je devrai appliquer cette formule sur
chaque page active et la longueur est =E9videmment diff=E9rente sur chaque
page, d'o=F9 ma modification...

Avez-vous une id=E9e o=F9 je me goure?

Merci

Denys

1 réponse

Avatar
Denys
Finalement, voici la réponse finale..... Je me gourais dans les
références aux lignes.....

Sub JrsTaches()
Dim L As Long
Dim M As Long
With ActiveSheet()
If Range("A3").Value = "" Then Exit Sub

L = .Range("A65536").End(xlUp).Row
M = .Range("A65536").End(xlUp)(-2).Row

.Range("g1").FormulaArray = _
"=SUM(IF(FREQUENCY(IF($C$3:$C$" & L & "=$I$18,MATCH($A$3:$A$" & L & ",
$A$3:$A$" & L & ",0),0),ROW($1:$" & M & "))>0,1,0)*(MONTH($A$3:$A$" &
L & ")=ROW(G1)))"
.Range("g1:g12").FillDown
End With
End Sub

En colonne A vous avez des dates. En colonne C vous avez des tâches.
Cette macro vous aide à savoir combien de fois dans le mois une
personne a inscrit telle ou telle tâche. Cependant, si elle a inscrit
cette tâche plus d'une fois dans une même journée, elle ne comptera
que pour 1 (C'était là toute la difficulté). Ici, la tâche est
équivalent à la cellule $I$18.

Merci encore à Daniel C. pour son aide si précieuse

Denys