Nombre de jours (sans répétition)

Le
Denys
Bonjour à tous,

La formule suivante me donne comme résultat le nombre de jours dans un
mois qu'un employé a entré des données sur sa feuille excel, car les
dates sont en colonne A:

Sub JrsTravail()
Application.ScreenUpdating = False
Dim L As Long
With ActiveSheet()
If Range("A3").Value = "" Then Exit Sub
L = .Range("A65536").End(xlUp).Row
.Range("A3:A" & L).Name = "ZN"
.Range("G1").FormulaArray = "=SUM(IF(COUNTIF(zn,zn)=0,"""",1/
COUNTIF(zn,zn))*(MONTH(zn)=ROW(G1)))"
.Range("G1:G12").FillDown
.Range("G1:G12") = .Range("G1:G12").Value
End With
end sub

Je peux donc savoir le nombre de jours où l'employé a été présent.=

Comment maintenant rajouter dans cette formule si aussi en colonne C
on retrouve le mot "Meeting".

Donc, le résultat devant être le nombre de jours où l'employé fût
présent et qu'il a assisté à un meeting. N.B. que si l'employé a
assisté à deux meetings ou plus durant la journée, cela ne doit
compter que pour un(C'est là la difficulté)

Merci pour votre temps

Denys
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #5225051
Ajoute une plage nommée à ta procédure :
L = .Range("A65536").End(xlUp).Row
.Range("A3:A" & L).Name = "ZN"
.Range("C3:C" & L).Name = "ZN1" 'Ajouter


.Range("G1").FormulaArray = "=SUM(IF(COUNTIF(zn,zn)=0,"""",1/
COUNTIF(zn,zn))*(MONTH(zn)=ROW(G1)*(ZN1=""Meeting""))





"Denys"
Bonjour à tous,

La formule suivante me donne comme résultat le nombre de jours dans un
mois qu'un employé a entré des données sur sa feuille excel, car les
dates sont en colonne A:

Sub JrsTravail()
Application.ScreenUpdating = False
Dim L As Long
With ActiveSheet()
If Range("A3").Value = "" Then Exit Sub
L = .Range("A65536").End(xlUp).Row
.Range("A3:A" & L).Name = "ZN"
.Range("G1").FormulaArray = "=SUM(IF(COUNTIF(zn,zn)=0,"""",1/
COUNTIF(zn,zn))*(MONTH(zn)=ROW(G1)))"
.Range("G1:G12").FillDown
.Range("G1:G12") = .Range("G1:G12").Value
End With
end sub

Je peux donc savoir le nombre de jours où l'employé a été présent.
Comment maintenant rajouter dans cette formule si aussi en colonne C
on retrouve le mot "Meeting"....

Donc, le résultat devant être le nombre de jours où l'employé fût
présent et qu'il a assisté à un meeting. N.B. que si l'employé a
assisté à deux meetings ou plus durant la journée, cela ne doit
compter que pour un......(C'est là la difficulté)...

Merci pour votre temps

Denys
Denys
Le #5225011
On 20 mar, 09:57, "MichDenis"
Ajoute une plage nommée à ta procédure :
 L = .Range("A65536").End(xlUp).Row
    .Range("A3:A" & L).Name = "ZN"
    .Range("C3:C" & L).Name = "ZN1"  'Ajouter

.Range("G1").FormulaArray = "=SUM(IF(COUNTIF(zn,zn)=0,"""",1/
COUNTIF(zn,zn))*(MONTH(zn)=ROW(G1)*(ZN1=""Meeting""))



Bonjour Denis,

Pour une rare fois, cela ne fonctionne pas. Excel me dit "Unable to
set the Formula Array property of the range class". Run time error
1004.

Pourtant, le range est le même (si cela a quelque chose à voir)

Je suis allé effacer les plages ZN et ZN1, j'ai recommencé, mais avec
le même résultat.... j'ai aussi essayé ZN1=$I$12 sans résultat.... ..


Merci

Denys

Denys
Le #5224931
Pourtant, si j'entre la formule suivant "à la mitaine" dans la barre
de formule et que je fais Control Shift Enter (matricielle),
j'obtiens ce qui suit:

=SUM(IF(COUNTIF(ZN,ZN)=0,"""",1/
COUNTIF(ZN,ZN))*(MONTH(ZN)=ROW(G1)*(ZN1=$I$12)))

En G1 j'ai comme réponse 0.365 (janvier)
en G2 0.25 (février)
en G11 5.36 (novembre)
en G12 2.04 (décembre)

Notre feuille de travail commence en novembre....... Comment peut-on
interpréter ces résultats????

Merci

Denys
MichDenis
Le #5224871
La formule est celle-ci (sur une même ligne) .... peut-être un problème de parenthèse

.Range("G1").FormulaArray =
"=SUM(IF(COUNTIF(zn,zn)=0,"""",1/COUNTIF(zn,zn))*(zn1=""Meeting"")*(MONTH(zn)=ROW(G1)))"

Et avec un test très sommaire, cela a l'air de fonctionner ...
Je quitte et ne serai plus disponible ...!



"Denys"
Pourtant, si j'entre la formule suivant "à la mitaine" dans la barre
de formule et que je fais Control Shift Enter (matricielle),
j'obtiens ce qui suit:

=SUM(IF(COUNTIF(ZN,ZN)=0,"""",1/
COUNTIF(ZN,ZN))*(MONTH(ZN)=ROW(G1)*(ZN1=$I$12)))

En G1 j'ai comme réponse 0.365 (janvier)
en G2 0.25 (février)
en G11 5.36 (novembre)
en G12 2.04 (décembre)

Notre feuille de travail commence en novembre....... Comment peut-on
interpréter ces résultats????

Merci

Denys
Denys
Le #5224821
On 20 mar, 10:57, "MichDenis"
La formule est celle-ci (sur une même ligne) .... peut-être un probl ème de parenthèse

  .Range("G1").FormulaArray =
"=SUM(IF(COUNTIF(zn,zn)=0,"""",1/COUNTIF(zn,zn))*(zn1=""Meeting"")*( MONTH(z­n)=ROW(G1)))"

Et avec un test très sommaire, cela a l'air de fonctionner ...
Je quitte et ne serai plus disponible ...!

"Denys"
Pourtant, si j'entre la formule suivant "à la mitaine" dans la barre
de formule et que je fais Control Shift Enter (matricielle),
j'obtiens ce qui suit:

=SUM(IF(COUNTIF(ZN,ZN)=0,"""",1/
COUNTIF(ZN,ZN))*(MONTH(ZN)=ROW(G1)*(ZN1=$I$12)))

En G1 j'ai comme réponse       0.365    (janvier)
en G2                                    0.25      (février)
en G11                                   5.36      (novembre)
en G12                                   2.04      (décembre)

Notre feuille de travail commence en novembre....... Comment peut-on
interpréter ces résultats????

Merci

Denys


Merci encore Denis et Joyeuses Pâques.....

Denys

Publicité
Poster une réponse
Anonyme