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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Sumif avec intervalle de valeur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sumif avec intervalle de valeur

n°2207262
xbeginner
Only God can judge me
Posté le 18-10-2013 à 18:14:18  profilanswer
 

Salut
 
Etant novice en VBA, je suis par la force des choses en train d'automatiser sur excel une application de contrôle de gestion, bref !
 
à un stade j'arrive à ca :
 
 A = Application.Sumif(Range("E8:E22" ), ">1", Range("F8:F22" ))
 
mais mon but est d'avoir la même chose mais cette fois avec un intervalle compris entre 1 et 5, et là mes amis je suis largué,
si vous pouvez m'aider ca serait génial :)

mood
Publicité
Posté le 18-10-2013 à 18:14:18  profilanswer
 

n°2207267
MaybeEijOr​Not
but someone at least
Posté le 18-10-2013 à 18:56:09  profilanswer
 

Je dirai :
 
A = Application.Sumif(Range("E8:E22" ), ">1 And <5", Range("F8:F22" ))
 
Au pire ça se fait très bien sans passer par une méthode préconçue.

n°2207277
xbeginner
Only God can judge me
Posté le 18-10-2013 à 21:26:19  profilanswer
 

MERCI MAYBE.....,ms ca je l'ai dèjà essayer ca donne tjrs 0, essai le tu verras, ms merci qd meme

n°2207284
MaybeEijOr​Not
but someone at least
Posté le 18-10-2013 à 22:10:35  profilanswer
 

Je n'ai en effet pas essayé mais au pire fait une boucle sur ta place de cellules et fais ta somme avec une condition if.

n°2207579
Marc L
Posté le 21-10-2013 à 20:07:32  profilanswer
 

 
           Salut,
 
           dans un tel cas, la première chose à faire est de tester directement la formule dans la feuille de calculs car,
           si le résultat n'est pas celui escompté, rien de sert de vouloir la coder en VBA vu qu'elle est fausse ‼ … http://forum-images.hardware.fr/icones/smilies/sarcastic.gif
 
           Ceci dit, la version d'Excel n'étant même pas indiquée, ma solution doit convenir à toute version.
 
           Cependant à partir de la version 2007, il y aurait certainement plus simple avec une nouvelle fonction de feuille de calculs.
           Lire l'aide intégrée concernant les nouvelles fonctions; pour les versions suivantes, soit jeter un œil
           dans l'aide aux fonctions mathématiques, soit se rencarder sur MSDN ou tout autre vecteur …
 
           Ma solution consiste à imbriquer deux  SI  - un par borne de l'intervalle - au sein d'une somme, le tout en tant que formule matricielle.
           Ceux ne sachant pas entrer une formule matricielle passent maintenant par la case de l'aide intégrée !
 
           Donc dans la feuille de calcul, voici la formule à entrer dans une cellule libre :  =SOMME(SI(E8:E22>1;SI(E8:E22<5;F8:F22;)))
 
           Une fois entrée en tant que formule matricielle, elle doit apparaître encadrée d'accolades, sinon c'est râpé !
           Si c'est bien une formule matricielle, vérifier le résultat avant de poursuivre …
 
           La cellule contenant cette formule matricielle doit être celle active avant de passer dans l'environnement VBA …
           Astuce :  ouvrir la fenêtre Exécution au sein de cet environnement et y taper  ? activecell.formula  puis valider.
 
           La formule en langage natif ('ricain) apparait sur la ligne du dessous :  sélectionner l'intégralité, la copier
           puis la coller dans une ligne de code VBA en l'encadrant entre  Evaluate("  et  " )  …
 
           Voilà c'est fini !  La formule matricielle de la feuille de calculs n'a plus lieu d'être …
           J'encourage vivement à consulter l'aide VBA intégrée concernant cette méthode  Evaluate  car elle est vraiment puissante !


Message édité par Marc L le 21-10-2013 à 20:35:21

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

  Sumif avec intervalle de valeur

 

Sujets relatifs
vérification présence valeur dans tableau associatifIncrémenter des quantités par ligne jusqu'à une valeur cible globale
Recherche de valeur dans un tableau dynamiqueRécupérer valeur entre deux balises
recuperer la valeur castée d'une cle de registreCurseur qui empêche d'avoir la valeur maximum scrollbar
Script sous R: ajouter une valeur en début de listeBoucle vérification d'une valeur dans une variable
[Powershell] Valeur ComboBoxvaleur max d'une selection aléatoire
Plus de sujets relatifs à : Sumif avec intervalle de valeur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR