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
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...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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