Countif....

Le
Denys
Bonjour à tous,

Je cherche à faire un Countif et je comprends pas que la réponse ne
soit pas exacte. Voici le code:

Sub Test()
Dim L As Long
Dim DerL As Long
With ActiveSheet

DerL = .[G65536].End(3).Row
L = .Range("A65536").End(xlUp).Row
.Range("A8:A" & L).Name = "ZN"

.Range("d5").FormulaArray = "=count(IF(COUNTIF(zn,zn)=t2,"""",1/
COUNTIF(zn,zn))*($G$8:$G$" & DerL & " >0))"


End With
End Sub

En colonne A, c'est des dates. En colonne G, des montants $. Je veux
savoir combien il y a de montants en colonne G plus grands que $0
lorsque la date correspondante en colonne A est la même que la date
inscrite en T2.

Avec cette formule, Excel me donne 17 comme résultat alors que ce
devrait être 4. Excel ne semble pas tenir compte que je veux que les
montants dans la colonne G doivent être plus grands que $0.00

Z'auriez une idée ?

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 #21634991
Bonjour,

J'aurais écrit la procédure comme ceci:

(il aurait été intéressant que tu précises ce que tu cherches
à réaliser !)
'-----------------------------------
Sub Test()
Dim DerLig As Long
With ActiveSheet

With .Range("A:A,L:L")
DerLig = .Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row

.Range("A8:A" & DerLig).Name = "ZN"
.Range("d5").FormulaArray = "=count(IF(COUNTIF(zn,zn)=t2," & _
""""",1/COUNTIF(zn,zn))*($G$8:$G$" & DerLig & " >0))"
End With
End With
End Sub
'-----------------------------------



"Denys"
Bonjour à tous,

Je cherche à faire un Countif et je comprends pas que la réponse ne
soit pas exacte. Voici le code:

Sub Test()
Dim L As Long
Dim DerL As Long
With ActiveSheet

DerL = .[G65536].End(3).Row
L = .Range("A65536").End(xlUp).Row
.Range("A8:A" & L).Name = "ZN"

.Range("d5").FormulaArray = "=count(IF(COUNTIF(zn,zn)=t2,"""",1/
COUNTIF(zn,zn))*($G$8:$G$" & DerL & " >0))"


End With
End Sub

En colonne A, c'est des dates. En colonne G, des montants $. Je veux
savoir combien il y a de montants en colonne G plus grands que $0
lorsque la date correspondante en colonne A est la même que la date
inscrite en T2.

Avec cette formule, Excel me donne 17 comme résultat alors que ce
devrait être 4. Excel ne semble pas tenir compte que je veux que les
montants dans la colonne G doivent être plus grands que $0.00

Z'auriez une idée ?

Merci pour votre temps

Denys
michdenis
Le #21635091
C'est plutôt : With .Range("A:A,G:G")
qui faudrait lire à la plage de With .Range("A:A,L:L")
Denys
Le #21635071
Bonjour Denis,

En fait, ce que je cherche à savoir, c'est que pour une date donnée
(inscrite en T2) combien de montant supérieurs à $0.00 se trouvent
dans la colonne G. Les dates correspondantes sont en colonne A.

Voici:
Colonne A Colonne G et en T2 on a 2010/02/24
2010/02/24 $0.00
2010/02/24 $50,000.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $50,000.00
2010/02/24 $0.00
2010/02/24 $25,000.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $5,000.00
2010/02/24 $0.00

La réponse devrait être 4, puisqu'il n'y a que quatre montants
supérieurs à $0 pour la date correspondante.

J'espère que c'est plus clair ainsi...

Merci

Denys
Jacky
Le #21635221
Bonsoir,

Sans VBA peut-être

=SOMMEPROD((A1:A17=T2)*(G1:G17>0))

En adaptant les plages qui doivent être de même dimension.
--
Salutations
JJ


"Denys"
Bonjour à tous,

Je cherche à faire un Countif et je comprends pas que la réponse ne
soit pas exacte. Voici le code:

Sub Test()
Dim L As Long
Dim DerL As Long
With ActiveSheet

DerL = .[G65536].End(3).Row
L = .Range("A65536").End(xlUp).Row
.Range("A8:A" & L).Name = "ZN"

.Range("d5").FormulaArray = "=count(IF(COUNTIF(zn,zn)=t2,"""",1/
COUNTIF(zn,zn))*($G$8:$G$" & DerL & " >0))"


End With
End Sub

En colonne A, c'est des dates. En colonne G, des montants $. Je veux
savoir combien il y a de montants en colonne G plus grands que $0
lorsque la date correspondante en colonne A est la même que la date
inscrite en T2.

Avec cette formule, Excel me donne 17 comme résultat alors que ce
devrait être 4. Excel ne semble pas tenir compte que je veux que les
montants dans la colonne G doivent être plus grands que $0.00

Z'auriez une idée ?

Merci pour votre temps

Denys
michdenis
Le #21635211
Sub Test()
Dim DerLig As Long
With ActiveSheet
Range("A1") = "'" & Range("D9").Formula
With .Range("A:A,L:L")
DerLig = .Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
.Range("A8:A" & DerLig).Name = "ZN"
.Range("d5").Formula = "=SUMPRODUCT((ZN=T2)*(L8:L" & DerLig & ">0))"
End With
End With
End Sub
michdenis
Le #21635301
With .Range("A:A,G:G")



"michdenis" #
Sub Test()
Dim DerLig As Long
With ActiveSheet
Range("A1") = "'" & Range("D9").Formula
With .Range("A:A,G:G")
DerLig = .Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
.Range("A8:A" & DerLig).Name = "ZN"
.Range("d5").Formula = "=SUMPRODUCT((ZN=T2)*(L8:L" & DerLig & ">0))"
End With
End With
End Sub
michdenis
Le #21635881
Sub Test()
Dim DerLig As Long
With ActiveSheet
Range("A1") = "'" & Range("D9").Formula
With .Range("A:A,G:G")
DerLig = .Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
.Range("A8:A" & DerLig).Name = "ZN"
.Range("d5").Formula = "=SUMPRODUCT((ZN=T2)*(G8:G" & DerLig & ">0))"
End With
End With
End Sub






"Denys"
Bonjour Denis,

En fait, ce que je cherche à savoir, c'est que pour une date donnée
(inscrite en T2) combien de montant supérieurs à $0.00 se trouvent
dans la colonne G. Les dates correspondantes sont en colonne A.

Voici:
Colonne A Colonne G et en T2 on a 2010/02/24
2010/02/24 $0.00
2010/02/24 $50,000.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $50,000.00
2010/02/24 $0.00
2010/02/24 $25,000.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $0.00
2010/02/24 $5,000.00
2010/02/24 $0.00

La réponse devrait être 4, puisqu'il n'y a que quatre montants
supérieurs à $0 pour la date correspondante.

J'espère que c'est plus clair ainsi...

Merci

Denys
michdenis
Le #21635431
La procédure devrait s'écrire comme ceci :
(il y a des débuts de semaine plus difficile que d'autres)
;-))

'-------------------------------
Sub Test()
Dim DerLig As Long
With ActiveSheet
Range("A1") = "'" & Range("D9").Formula
With .Range("A:A,G:G")
DerLig = .Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
End With
.Range("A8:A" & DerLig).Name = "ZN"
.Range("d5").Formula = "=SUMPRODUCT((ZN=T2)*(G8:G" & DerLig & ">0))"
End With
End Sub
'-------------------------------



"michdenis" #
Sub Test()
Dim DerLig As Long
With ActiveSheet
Range("A1") = "'" & Range("D9").Formula
With .Range("A:A,L:L")
DerLig = .Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
.Range("A8:A" & DerLig).Name = "ZN"
.Range("d5").Formula = "=SUMPRODUCT((ZN=T2)*(L8:L" & DerLig & ">0))"
End With
End With
End Sub
Denys
Le #21637011
Bonsoir Denis,

Merci infiniment.....et bonne chance pour le reste de la
semaine !!!! :-)

Denys
MehdiH
Le #21655991
Bonjour à tous,

Avec la même démarche que JJ sans VBA la formule matricielle équivalente à
la formule proposée

{=SOMME((A1:A17=T2)*(G1:G17>0)*1)}

Cordialement
MehdiH
--------------------------
"Jacky"
Bonsoir,

Sans VBA peut-être

=SOMMEPROD((A1:A17=T2)*(G1:G17>0))

En adaptant les plages qui doivent être de même dimension.
--
Salutations
JJ


"Denys"
Bonjour à tous,

Je cherche à faire un Countif et je comprends pas que la réponse ne
soit pas exacte. Voici le code:

Sub Test()
Dim L As Long
Dim DerL As Long
With ActiveSheet

DerL = .[G65536].End(3).Row
L = .Range("A65536").End(xlUp).Row
.Range("A8:A" & L).Name = "ZN"

.Range("d5").FormulaArray = "=count(IF(COUNTIF(zn,zn)=t2,"""",1/
COUNTIF(zn,zn))*($G$8:$G$" & DerL & " >0))"


End With
End Sub

En colonne A, c'est des dates. En colonne G, des montants $. Je veux
savoir combien il y a de montants en colonne G plus grands que $0
lorsque la date correspondante en colonne A est la même que la date
inscrite en T2.

Avec cette formule, Excel me donne 17 comme résultat alors que ce
devrait être 4. Excel ne semble pas tenir compte que je veux que les
montants dans la colonne G doivent être plus grands que $0.00

Z'auriez une idée ?

Merci pour votre temps

Denys

Publicité
Poster une réponse
Anonyme