Sommeprod & sous.total excel

Si_bbr Messages postés 28 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -

Bonjour j'ai cette formule qui fonctionne mais lorsque j'utilise un filtre celle-ci ne le prend pas en compte.

Si une âme charitable connait la solution ????

9 réponses

  1. DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention   717
     

    Bonjour,

    Un fichier EXCEL (test ou non), complété par des explications exhaustives et des exemples remplis à la main, mis sur https://www.cjoint.com/ , ainsi que la version d'Excel, permettrait aux intervenants de répondre plus précisément à ta question.

    par exemple, tu filtres comment ?
    Crdmt

    0
    1. Si_bbr Messages postés 28 Statut Membre
       

      je joints le fichier en question

      c'est la version 2010 si je ne m'abuse

      https://www.cjoint.com/c/LHwnvM2bPNT

      0
  2. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     

    Bonjour.

    Il faut utiliser la fonction SOUS-TOTAL et ses options.


    0
    1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
       

      .. c'est d'ailleurs ce que tu as fait en P13 !

      0
  3. Si_bbr Messages postés 28 Statut Membre
     

    Oui je me suis dépatouiller avec des formules trouvées par-ci par-là sur le forum mais je ne les maîtrisent pas vraiment donc je galère ????

    0
  4. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     

    Bonjour.

    Je ne peux pas utiliser ton fichier !

    Dans ta colonne J, tu as des valeurs au format standard, mais qui se comportent comme des textes, et pas comme des nombres !

    Et quand Excel compte le nombre de données de la colonne, cela donne 66 au lieu de 9 !

    Parce qu'en P18 il suffirait d'écrire =NBVAL(J4:J499) au lieu de =SOMMEPROD(1/NB.SI(J4:J499;J4:J499&""))-(NB.VIDE(J4:J499)>0)

    Comment as-tu créé ton tableau ? 


    0
    1. DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention   717
       

      Bonjour Raymond, Si_bbr

      Comment as tu crée CE tableau ?

      +1

      Effectivement, il y a quelque chose dans les cellules paraissant vide, mais je ne trouve pas quoi, code() renvoie valeur!.

      Si tu effaces les cellules vides, on retombe sur le visible, a savoir 9 et un sous.total(3;J4:J499) renvoie la bonne valeur quand on filtre


      Crdlmt

      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sibbr
     

    le soucis avec nbval c'est que je voudrais que les cellules vides ne soient pas prises en compte mais également que la formule ne compte que les données uniques

    je remets un lien vers le vrai classeur en esperant que ça fonctionne

    https://www.cjoint.com/c/LHxoN1xqXOT

    0
  7. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     

    Alors je te conseille d'insérer un Tableau croisé dynamique.
    C'est prévu exactement pour ce genre de problème ...

    https://www.cjoint.com/c/LHxqnWY3PUb


    0
  8. Sibbr
     

    Merci, c'est vrai qu'un TDC pourrait aller.

    Le hic c'est que j'ai créer une macro permettant d'automatiser la mise en page, la mise en place de filtre, le tri des cellules etc.. donc avec un TDC en plus j'ai peur de l'usine à gaz..

    La seule donnée qui m'importe c'est de savoir combien il y a de données unique en colonne J ( les encadrees )

    Je pense qu'avec un sommeprod ou sous-total ça devrait passer mais je n'y connais pas grand chose.

    La difficulté étant de prendre en compte les filtres et pas les cellules vides 

    0
  9. ALS35 Messages postés 1034 Date d'inscription   Statut Membre Dernière intervention   147
     

    Bonjour à tous,

    Avec une colonne supplémentaire

    En O4 tu saisis cette formule que tu recopies vers le bas :

    =SI(J4="";"";1/NB.SI($J$4:$J$499;J4))

    et tu fais un sous-total sur cette colonne :

    =SOUS.TOTAL(9;$O$4:$O$499)

    Tu adaptes la longueur de plage si besoin.

    Cordialement

    0