Countif sur valeur cellule variable

Bonjour,

Je souhaite calculer le total de temps supérieurs à une valeur variable (contrôlée par un contrôle de toupis)

Je ne parviens pas à obtenir cette valeur.

J'ai essayé en notant

Worksheets("feuil3").Range("G19") = Application.CountIf(Worksheets("Feuil2").Range("J:J"), ">=" & Worksheets("feuil3").Range("E18"))

mais ça ne marche pas et je ne trouve pas ce qui ne va pas.

Merci par avance de vos conseils.

Lenovic

Bonjour,

D'abord, si tu mets la formule :

=NB.SI(Feuil2!J3:J341;">="&E18)

Ce sera toujours plus rapide que n'importe qu'elle manoeuvre en VBA !

Et si tu le fais, cela fonctionnera avec ton bouton toupie.

Ceci dit, je ne vois pas pourquoi cela ne fonctionne pas, même en modifiant quelques petites choses... ?

Cela fonctionne pour 0 mais pas pour les valeurs supérieures.

Cela renvoie d'ailleurs 102 pour >=0, ce qui signifie que 237 valeurs qui affichent 0 sont évaluées comme <0 (même résultat avec formule).

En modifiant un peu :

Private Sub SpinButton1_Change()
    Dim v
    v = SpinButton1.Value / 1440
    Worksheets("Feuil3").Range("E18").Value = v
    tps
End Sub

Ceci à la place des 2 autres.

J'obtiens bien 339 pour 0 et 102 pour 1 minute.... Par formule ! La proc. fournit bien 339 maintenant mais 0 pour le compte des valeurs supérieures à 0.


C'était parti indépendamment de ma volonté !

Je crois que j'ai à peu près tout essayé : envoyer directement le critère à partir du calcul sur la valeur du Spin, nommé la plage, typé les variables...

Pas de changement.

Ceci étant, c'est le nombre d'occurrences que tu obtiens, pas une durée. Pour la durée ce serait SumIf... mais cela n'explique pas le dysfonctionnement avec CountIf, alors que NB.SI dans la feuille fonctionne parfaitement.

Cordialement.

Je vais me contenter de NB.SI dans la feuille.

Merci MFerrand,

Lenovic

Rechercher des sujets similaires à "countif valeur variable"