Filtre auto et nb.si

natbru

XLDnaute Occasionnel
Bonsoir à tous,

Une petite question concernant les filtres automatiques et la formule NB.SI

Ci-joint un fichier exemple.

Je cherche à compter les cellules contenant le mot (GRANDE, MOYENNE ou PETITE) en fontion de ce qui à été selectionné en B13.
Jusque là, j'y arrive.

Par contre, lorsque j'applique un filtre automatique, la formule continue de tenir compte de toutes les lignes.

Je pense qu'il faut chercher du côté de la formule Sous.total mais je n'arrive pas inclure la fonction nb.si

Merci de votre aide. [file name=exemple_nb_si_filtre.zip size=1987]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exemple_nb_si_filtre.zip[/file]
 

Pièces jointes

  • exemple_nb_si_filtre.zip
    1.9 KB · Affichages: 134

natbru

XLDnaute Occasionnel
Bonsoir Dan, Slepton,

Oui c'est clair, j'ai été trop vite quand j'ai préparé le fichier exemple.

Ci-joint le fichier modifié.

C'est quand on applique le filtre de la colonne A qu'il y a un problème. [file name=exemple_nb_si_filtre_20060116212002.zip size=2107]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exemple_nb_si_filtre_20060116212002.zip[/file]
 

Pièces jointes

  • exemple_nb_si_filtre_20060116212002.zip
    2.1 KB · Affichages: 184

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir Natbru, Dan et Slepton :)

Peut-être un solution en ajoutant une colonne (en C) avec une formule nommée, et en remplaçant NB.SI par SOMMEPROD (voir fichier joint).

Tiens nous au courant ;)

A+ [file name=natbru_ExempleFiltre.zip size=5603]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/natbru_ExempleFiltre.zip[/file]
 

Pièces jointes

  • natbru_ExempleFiltre.zip
    5.5 KB · Affichages: 330

JeanMarie

XLDnaute Barbatruc
Bonsoir

Il y a quelque temps, pour corriger l'absence des codes d'argument supérieur à 100 dans la fonction sous.total sous la version PC 2000, j'ai rajouté une fonction en VBA, qui permet de retourner une matrice.

Voir le code :
Code:
Option Explicit
Option Base 0

Public Function SousTotalPC(CodeFonction As Byte, Plage As Range) As Variant
Dim vTab() As Variant
Dim vMatrice() As Byte
Dim vCell As Range
Dim I As Long
Dim J As Long

ReDim Preserve vMatrice(Plage.Rows.Count - 1)
For Each vCell In Plage
   If vCell.EntireRow.Hidden = False Then
      vMatrice(J) = 1
      I = I + 1
      ReDim Preserve vTab(I)
      vTab(I) = vCell
   Else
      vMatrice(J) = 0
   End If
   J = J + 1
Next
'CodeFonction reprend le code utilisé dans la fonction SOUS. TOTAL
Select Case CodeFonction
Case 1
SousTotalPC = Application.WorksheetFunction.Median(vTab)
Case 2
SousTotalPC = Application.WorksheetFunction.Count(vTab)
Case 3
SousTotalPC = Application.WorksheetFunction.CountA(vTab)
Case 4
SousTotalPC = Application.WorksheetFunction.Max(vTab)
Case 5
SousTotalPC = Application.WorksheetFunction.Min(vTab)
Case 6
SousTotalPC = Application.WorksheetFunction.Product(vTab)
Case 7
SousTotalPC = Application.WorksheetFunction.StDev(vTab)
Case 8
SousTotalPC = Application.WorksheetFunction.StDevP(vTab)
Case 9
SousTotalPC = Application.WorksheetFunction.Sum(vTab)
Case 10
SousTotalPC = Application.WorksheetFunction.Var(vTab)
Case 11
SousTotalPC = Application.WorksheetFunction.VarP(vTab)
Case 12
   'Ce code additionnel retourne une matrice qui contient
   '0 pour une cellule invisible
   '1 pour une cellule visible
SousTotalPC = Application.WorksheetFunction.Transpose(vMatrice)
End Select
End Function
Pour utiliser la fonction dans la feuille de calcul, il suffit de mettre la formule.
=SOMMEPROD(SousTotalPC(12;B2:B11)*(B2:B11=C13))

@+Jean-Marie [file name=nb_si_filtre.zip size=8235]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/nb_si_filtre.zip[/file]
 

Pièces jointes

  • nb_si_filtre.zip
    8 KB · Affichages: 128

natbru

XLDnaute Occasionnel
Bonsoir,

comme promis, je viens de regarder les deux solutions proposées et elles fonctionnent toutes les deux trés bien, par contre j'ai absolument rien compris pour l'une comme pour l'autre.

Je pense utiliser celle de Charly qui m'a l'air plus simple bien que ca m'embete de rajouter une colonne.

Dans tous les cas, je garde le code de Jean-Marie de côté car ca pourrait servir.

Merci pour vos réponses et à bientôt sur le forum.
 

Greginho

XLDnaute Nouveau
Re : Filtre auto et nb.si

Bonjour à tous,

Je déterre ce sujet car c'est le seul que j'ai trouvé qui devrait m'aider.

La solution proposée par Charly2 me conviendrait parfaitement.
J'ai téléchargé son fichier et j'ai crée une nouvelle feuille pour reproduire manuellement avec mes valeurs.

Cependant, aussi simple que ca à l'air d'être, impossible de faire bouger la valeur souhaitée en appliquant le filtre...

Y a t'il une macro ou un truc derrière tout ca ?

je vous joins le fichier..


Je vous remercie.
 

Pièces jointes

  • test.xls
    23.5 KB · Affichages: 161
  • test.xls
    23.5 KB · Affichages: 154
  • test.xls
    23.5 KB · Affichages: 157

Greginho

XLDnaute Nouveau
Re : Filtre auto et nb.si

Eh bien R@chid, un très grand merci à toi!

J'arrive à reproduire ton exemple et en plus tu as amélioré mon fichier en supprimant la colonne intermédiaire qui était inutile.
Génial!
Sacrée fonction tout de même.. :p

Merci encore et bonne journée.
 

Discussions similaires

Statistiques des forums

Discussions
312 482
Messages
2 088 765
Membres
103 954
dernier inscrit
SirJah