Calculer nbr de cellule <> 0 dans plusieurs plage

Bonjour à tous,

Je cherche désespérément une formule qui me permette de calculer le nombre de cellule différente de 0 dans plusieurs plage différentes (10 plages). pour information, les cellules sont déjà des formules qui me donnent soit un chiffre soit 0

(P22:P34;P69;P72;.....)

Quelqu'un a t il une solution ?

Merci

bonjour,

test avec cette formule :

=NB.SI([plage],">0")

y a aussi la possibilité d'utiliser la fonction "SOMMEPROD()"

je connais ces formules mais avec plusieurs plages différentes, ça ne peut pas fonctionner !!!!!

regroupe tes plages dans une seule plage prise en compte par la formule ou tu fais une combinaison de formules

genre :

=NB.SI([plage1];">0")+NB.SI([plage];">0")+NB.SI([plage2];">0")+NB.SI([plage3];">0")

et ainsi de suite

Bonjour @ tous,

Un petit fichier exemple élucidant la demande va nous être très utile...

Amicalement

bonjour

un essai avec une matricielle

18cedthced.xls (15.00 Ko)

cordialement

Bonjour

avec une Macro

Cordialement

Edit: ou ici, en définissant les plages dans le Code

Sub Compte0()
valnull = 0
Sheets("Feuil1").Range("$C$4:$C$14,$F$4:$F$14,$H$4:$H$19").Select
For Each c In Selection
If c.Value = 0 Then
valnull = valnull + 1
End If
Next c
'activer la ligne suivante pour avoir le résultat avec MsgBox
'MsgBox "Il y a " & valnull & " cellules renvoyant 0 dans cette plage."
'Le résultat en A1
Range("A1") = valnull
End Sub
12cpte-0.zip (7.82 Ko)
tulipe_3 a écrit :

bonjour

un essai avec une matricielle

cordialement

Bonjour @ tous,

Mon cher ami, on appelle pas ça une matricielle...

Amicalement

re

hoOOOo tu sais pour moi tout ce qui se valide avec Ctrl Maj Entrée ou alors qui commence par SOMMEPROD est consideré comme tel

bon maintenant si tu nous donnes sa classification ;je te promet de la retenir, de maniere à ne plus indiure les questeurs en erreur

j'ajoute ce proverbe chinois : peu importe la couleur de l'oiseau ; l'essentiel est qu'il vole

a+ cordialement

ps j'ai essayé un tas d'autre trucs (sous.total ....... champ nommé=> indirect ..... ) sans grands resultats

je crois qu'une fonction personnalisée :a construire serai la bienvenue

tulipe_3 a écrit :

re

hoOOOo tu sais pour moi tout ce qui se valide avec Ctrl Maj Entrée ou alors qui commence par SOMMEPROD est consideré comme tel

bon maintenant si tu nous donnes sa classification ;je te promet de la retenir, de maniere à ne plus indiure les questeurs en erreur

j'ajoute ce proverbe chinois : peu importe la couleur de l'oiseau ; l'essentiel est qu'il vole

a+ cordialement

ps j'ai essayé un tas d'autre trucs (sous.total ....... champ nommé=> indirect ..... ) sans grands resultats

je crois qu'une fonction personnalisée :a construire serai la bienvenue

Bonjour @ tous,

la formule =NB.SI([plage],">0") on peut aussi la valider par Ctrl+Maj+Entree, mais il n'est pas une matricielle...

ce que je veux dire pour ta formule c'est que tu as définis les plages de façon manuelle, alors que la NB.SI() fera l'affaire comme la réponse au dessus...

on va attendre le fichier exemple du demandeur, pour voir si c'est possible de faire avec une Matricielle ou non...

on verra si il y aura un critère pour définir les plages ou non...

Très Amicalement

Bonjour

Pour répondre à vos angoisses, une fonction personnalisée (Code dans Module)

Function ValeursNulles(champ As Range)
  Application.Volatile
  t = 0
  For Each c In champ
   If c.Value = 0 Then
       t = t + 1
    End If
  Next c
  ValeursNulles = t
End Function

Après avoir nommé Plages, la sélection des différentes plages,dans une cellule, rentrer la formule

=ValeursNulles(Plages)

Cordialement

re

bravo amadeus ;mais l'ideal serait de disposer de plusieurs champs

j'arrive a afficher plusieurs fenetre (champ1,champ2as range) mais la suite for each c in ?????? ,j'espere que tu vois ce que je veux dire

cordialement

Rechercher des sujets similaires à "calculer nbr plage"