comptage cellule MEFC

  • Initiateur de la discussion Julien
  • Date de début
J

Julien

Guest
Bonjour à tous,

Après avoir passé plusieurs heures à rechercher une solution à mon problème dans les archives, je me résoud à poser ma question sur le forum:

comment compter (par une formule, ou à l'aide d'une fonction VBA, voire d'une macro) les cellules répondant à une mise en forme conditionnelle dans une liste filtrée??

Merci d'avance
Julien :eek:
 
J

Julien

Guest
Voilà le fichier, avec quelques lignes seulement, car 728 en tout! [file name=Julien_20060515151705.zip size=18257]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Julien_20060515151705.zip[/file]
 

Pièces jointes

  • Julien_20060515151705.zip
    17.8 KB · Affichages: 23
P

Pierrot93

Guest
Bonjour à tous

re voici ton fichier avec une petite macro supplémentaire, si cela peut aider

@+ [file name=Julien_20060515165037.zip size=18462]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Julien_20060515165037.zip[/file]
 

Pièces jointes

  • Julien_20060515165037.zip
    18 KB · Affichages: 27
A

AV

Guest
Ave,

Concernant ton exemple, il ne faut pas poser le problème en ces termes mais se servir des tests logiques utilisés dans la MEFC et la plage de critère du filtre élaboré.
Ce qui revient à poser la question suivante :
Combien il y a-t-il de valeurs dans la plage ''Module'' inférieures à la valeur de B4 (mauvais la cellule fusionnée !) pour des valeurs de la plage ''SDR'' comprises entre 30 (exclu) et 32 (inclus)
Ce qui, avec plages nommées, donne la formule suivante :
=SOMMEPROD((Module ‹ B4)*(SDR › 30)*(SDR ‹ =32))

AV [aaa]
 
H

henri

Guest
Bonjour,
donc on compte les cellules en rouge.
A + [file name=comptecouleurs_20060515165609.zip size=8357]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/comptecouleurs_20060515165609.zip[/file]
 

Pièces jointes

  • comptecouleurs_20060515165609.zip
    8.2 KB · Affichages: 19
A

AV

Guest
@henri,

Ben non, regarde bien, on ne compte pas les cellules rouges...
Il y a ''péril'' à prendre les causes pour les conséquences et ''lycée de Versailles'' : la couleur d'une MEFC est la conséquence d'un calcul.
Le bon plan est donc de se servir de ce calcul pour décompter.
Les fonctions persos qui compte les cellules en couleurs sont à fortement déconseiller !
Pour les raisons que :
** Le changement de format n'entraine aucun recalcul donc pas de modification du résultat
** Pour tenter de les ''faire fonctionner''on est obligé de faire appel à une proc évènementielle ''Worksheet_SelectionChange'' ce qui signifie que tout changement de sélection va entrainer un recalcul complet du classeur.
** Les index de couleur sont assez peu fiables et modifiables donc ce qui est rouge (3) ici, ailleurs pourra être ????

Bon, voilà... j'ai fait ma BA..
AV [aaa]
 
J

Julien

Guest
Bonjour à tous

Tout d'abord merci pour votre aide, je commence à y voir plus clair dans les possibilités pour arriver à ce que je veux faire.

Par contre je voulais repréciser une chose : la liste est filtrée grâce aux cellules A9 et B9, et ces chiffres je les fais varier. Donc en ce qui concerne la formule de AV, ce qui est embêtant c'est qu'il faut que je modifie à chaque fois les valeurs de SDR dans la formule.
Jean-Marie, je pense que ta formule peux marcher, mais il y a un smiley dedans à la place de quelque chose, et je ne trouve pas ce qu'il faut mettre!

Voilà, je vais essayer les autres réponses et je vous tiens tous au courant.

En tout cas, merci encore. A+
Julien.
 
J

Julien

Guest
Re,

Je viens de regarder les fichiers de Pierrot93 et d'Henri, et le problème est que dans chaque cas, on compte TOUTES les cellules, et non pas seulement celles filtrées.
Encore merci et à bientôt.

Julien.
 
A

AV

Guest
Re,

''..en ce qui concerne la formule de AV, ce qui est embêtant c'est qu'il faut que je modifie à chaque fois les valeurs de SDR dans la formule...''

Dans la mesure ou tu filtres chaque fois par macro, il ''suffit'' d'intégrer le calcul directement dans la macro par un Evaluate pour prendre en compte le contenu de la zone de critères et avoir le résultat dans une cellule quelconque :

Exemple avec plage nommées et résulktat en J1:

Sub filtrer()
[bdd].AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range('Criteria'), Unique:=False
[J1] = Evaluate('Sumproduct((Module <' & [B4] & ')*(' & [A8] & [A9] & ')*(' & [B8] & [B9] & '))')
End Sub

AV [aaa] [file name=FiltrElabMacro.zip size=15489]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/FiltrElabMacro.zip[/file]
 

Pièces jointes

  • FiltrElabMacro.zip
    15.1 KB · Affichages: 14
J

Julien

Guest
Ta macro est exactement ce que je recherche, mais dès que je change les valeurs du filtre (les SDR de A9 et B9) sur ton exemple, j'ai une erreur de Valeur dans J1!
Je ne comprends pas le code que tu utilise, alors je ne peux même pas essayer de trouver la solution tout seul. Désolé.

En tout cas merci pour ton aide

Julien.
 

JeanMarie

XLDnaute Barbatruc
Bonjour

J'espère quelle va passer correctement
Code:
=SOMMEPROD(SOUS.TOTAL(2;DECALER(I1;LIGNE(I14:I150)-1;))*(I14:I150<B4))

Cette formule comparée à celle de AV, prend en compte les filtres qui peuvent être appliqués sur la zone, rajout un filtre, la formule ci-dessus te donnera le bon résultat.

@+Jean-Marie

Message édité par: JeanMarie, à: 16/05/2006 12:39
 
J

Julien

Guest
C'EST ENORME!!!!!
Jean-Marie, je viens de tester ta formule, et cela marche parfaitement!!
Grand merci et bravo à toi, mais aussi à tous ceux qui m'ont répondu pour tenter de solutionner mon problème!(Henri, Pierrot93 et AV bien sûr!!)


:)

Je ne voudrais pas abuser de votre gentillesse, mais est-il possible de prendre en compte la valeur d'une cellule pour définir la première cellule d'une plage? En essaynt d'être plus clair, par rapport à la formule de Jean-Marie, peut-on demander à Excel de prendre en compte la valeur de la cellule D1(par exemple) à la place de I14. Cela me permettrai de compter les cellules rouges qu'à partir de la ligne qui m'intéresse??

En tout cas, merci encore à tout de prendre du temps pour aider les exceliens non initiés que je représente et bravo pour votre réactivité et votre talent!!

A bientôt.

Julien
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 984
Membres
103 998
dernier inscrit
Gotteland