Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
773 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Aide avec les filtres et bdmoyenne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide avec les filtres et bdmoyenne

n°1867783
3w771k
Posté le 31-03-2009 à 10:01:38  profilanswer
 

Bonjour,
 
Je travaille sur un petit programme excel pour mon boulot et je me retrouve coincé.
Le but est de faire des filtres sur une base de donnée et de calculer une moyenne selon le filtre appliqué. Mon soucis arrive lorsqu'il n'y pas de correspondance entre les critères et que le résultat du filtre est vide; si je décide de générer la moyenne alors ca bug.
 
voici le code VBA pour le calcul de la moyenne
 
If ToggleButton1.Value = True Then
 
p = WorksheetFunction.DAverage(Range("B24:O24", Range("B24:O24" ).End(xlDown)), Range("O24" ), Range("D16:E17" ))
 
Range("J14:K14" ).Value = p
 
Elseif togglebutton2.value.............. (ca va jusque 10 comme ca en changeant les critères)
 
Endif
 
 
 
Pour ce qui est du filtre le code est:
 
 Range("B24:O24", Range("B24:O24" ).End(xlDown)).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("D16:E17" ), Unique:=False
 
 
Merci d'avance pour votre aide :)
 
P.S: j'ai déjà essaye de faire "if iserror(la fonction qui bdmoyenne) alors msgbox
 
 

mood
Publicité
Posté le 31-03-2009 à 10:01:38  profilanswer
 

n°1867892
SuppotDeSa​Tante
Aka dje69r
Posté le 31-03-2009 à 15:24:17  profilanswer
 

Bonjour
 
Je comprends pas trop pour quelle raison tu filtres ? c'est juste pour avoir un visuel ? Car le DAverage se calcul deja en fonction d'une plage de filtre.
 
En plus de cela, tu ecris le resultat de ton DAverage en J14
 
Ou alors il faut juste se servir du filtre. La c'est comme si tu faisais deux fois la meme chose.
 
Avec ton exemple je dirais :
 
Tu mets en J14 le resultat de ton DAverage directement dans la cellule, sans filtrer.
J14.FormulaR1C1 = "=DAVERAGE(R24C2:R65536C15,14,R16C4:R17C5)"
Fonction BDMoyenne , qui calcule la moyenne de la 14eme colone de la plage B24:O65536 en fonction des filtres en D16:E17
 
Ou alors tu filtres, et tu mets en J14 :
J14.FormulaR1C1 = "=SUBTOTAL(101,R24C2:R65536C15)"
Fonction SOUS.TOTAL qui calcule la moyenne de la plage B24:O65536 en tenant compte du tableau préalablement filtré.(Fonction n°101, qui permet de ne pas tenir compte des valeurs masquées)
 
 
 
Cordialement


Message édité par SuppotDeSaTante le 31-03-2009 à 15:32:15

---------------
Soyez malin, louez entre voisins !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Aide avec les filtres et bdmoyenne

 

Sujets relatifs
Besoin d'aide pour une expression régulièreBesoin d'aide pour fonction OCAML
Besoin d'aide pour OCAML A l'aide !aide javascript onclick
Aide pour programme en Visual Basic[AIDE SVP] Lancer projet C++ sur autre un ordinateur sans VS 2008
Aide sur Expression eregi en PHPAide pour la création d'un site.
Modifier ant movie catalog viewerBesoin d'aide OpenGL/GLUT
Plus de sujets relatifs à : Aide avec les filtres et bdmoyenne


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)