XL 2019 Formule pour SOMME.SI.ENS

Simon M

XLDnaute Nouveau
Bonjour,
voici mon problème je cherche à améliorer une formule que j'ai mis en place.
Dans la feuille "Visu".
J'ai fait une barre de recherche afin de récupérer des heures de travail.
Elle possède plusieurs critères et la formule que j'ai mis en place ne permet que de faire de l'affinage grâce à des SOMME.SI.ENS et des SI imbriquées.
Cependant je dois trouver une solution pour laisser par exemple la case opération vide ce qui casse ma formule.
Pourriez vous m'aider à trouver une formule qui puisse faire cela ? Merci et à bientôt ^^
 

Pièces jointes

  • Fichier Extérieur2021 vide.xlsm
    303.9 KB · Affichages: 17
Solution
=SI(A3="";"";SI(C4="";SOMME.SI.ENS(Suivi!$I:$I;Suivi!$A:$A;A3;Suivi!$D:$D;SI(E3="";"<>""+""";E3);Suivi!$B:$B;SI(G3="";"<>""+""";G3);Suivi!$E:$E;SI(I3="";"<>""+""";I3);Suivi!$F:$F;SI(K3="";"<>""+""";K3);Suivi!$J:$J;SI(M3="";"<>""+""";M3);Suivi!$K:$K;SI(O3="";"<>""+""";O3);Suivi!$L:$L;SI(Q3="";"<>""+""";Q3));SOMME.SI.ENS(Suivi!$I:$I;Suivi!$A:$A;">="&A3;Suivi!$A:$A;"<="&C4;Suivi!$D:$D;SI(E3="";"<>""+""";E3);Suivi!$B:$B;SI(G3="";"<>""+""";G3);Suivi!$E:$E;SI(I3="";"<>""+""";I3);Suivi!$F:$F;SI(K3="";"<>""+""";K3);Suivi!$J:$J;SI(M3="";"<>""+""";M3);Suivi!$K:$K;SI(O3="";"<>""+""";O3);Suivi!$L:$L;SI(Q3="";"<>""+""";Q3))))

Bonjour, excusez moi pour mon absence je suis parti en vacance.
Voici la formule que j'ai réussi a trouver en maintenant les...

Simon M

XLDnaute Nouveau
Merci de prendre le temps de me répondre ^^,

la barre de recherche se trouve sur la feuille "Visu" de A1 à R2
La formule a améliorer se trouve bien en A6 de la feuille "Visu"
Oui je n'ai pas trouver mieux jusqu'à présent.

Le schéma des cellules I6 à R14 illustre la logique de la formule.
Le but de cette formule et de faire la somme du temps passer selon plusieurs critères.
J'ai donc fait un système d'affinage SI(c'est vide;SOMME.SI.ENS des critères précedents ;tu continue d'analyser)
Pour la dernière cellule Q2 : SI(c'est vide; SOMME.SI.ENS des critères précedents ; SOMME.SI.ENS de tout les critères

Ce qu'il me faut c'est une formule(simplifier) qui ferait cette somme en fonction des critères sélectionner grâce au liste déroulante présente dans la ligne 2

Voici ce qu'il me faut trouver :

du 01/01/2021 au 31/12/21
Méthodes : ""
Domaine : "V_Vergers"
Thématique : "Éclaircissage"
Opération : ""
Produit : "Pomme"
Zone : ""
Variétés : "Gala"

Il est possible aussi que l'on me demande la même chose sans la "Thématique".
J'espère vous avoir apporter toutes les informations nécessaires.
 

vgendron

XLDnaute Barbatruc
En retour ton fichier avec un bouton de macro
tu selectionnes tes filtres dans la ligne 3 de la feuille Visu
puis tu cliques

la macro se contente d'appliquer tous les filtres sur le tablo Suiv2
et récupère le total sur la ligne Total (675) pour le mettre en A7 de ta feuille Visu==> j'ai laissé ta formule pour que tu puisses comparer
 

Pièces jointes

  • Fichier Extérieur2021 vide.xlsm
    300.9 KB · Affichages: 3

Simon M

XLDnaute Nouveau
Ça correspond a ce que je veut.
Serait-il possible de passer les totaux de la ligne 675 à la ligne 1 au dessus du tableau?
Parce qu'on va continuer de saisir des lignes au fur et à mesure.
Il faudrait qu'après avoir affiché le résultat, les filtres disparaissent et fasse revenir le tableau comme il était présentés avant.

Si ça ne vous dérange pas, en plus du calcul que vous venez de faire(qui correspond du coup au heure travaillées par le personnel)
il faudrait y ajouter le cout machines [les Méthodes].
Je vous ajoute le fichiers avec un tableau avec des couts fictifs.
Ce coûts devra s'afficher en C6

Ah aussi, sauriez vous s'il est possible de passer la macro en automatique, c'est à dire a chaque ajout de critères dans la ligne 2?

Je reste à disposition pour toutes questions.
 

Pièces jointes

  • Fichier Extérieur2021 vide.xlsm
    318.5 KB · Affichages: 3

Simon M

XLDnaute Nouveau
C'est presque parfait.

En C6 il faudrait faire (A6*13)[Ça me donne le coût humain]+(filtrer la méthode "rosa";filtrer "train","tracteur";"merlot",ect... chacun multiplier par son prix)[Ca me donne le coût matériel]
Merci de votre aide ^^
 

vgendron

XLDnaute Barbatruc
pour le TCD
ce qui empeche, visiblement ce sont toutes les listes de validation dans le tableau suivi2
j'ai copié dans Suivi2(1) et supprimé toutes ces listes de validations==> le TCD est possible
 

Pièces jointes

  • Fichier Extérieur2021 vide (1).xlsm
    354.8 KB · Affichages: 3

Simon M

XLDnaute Nouveau
13 € C'est le coût que ma transmis mon supérieur. J'ai pas approfondie le sujet :(

Oui je comprend, le hic c'est que je débute dans le domaine de la VBA et que j'ai pas eu beaucoup de temps aujourd'hui pour m'y consacrer, cependant votre aide m'en as fait gagner beaucoup je pense même qu'on puisse finir avant vendredi prochain avec votre soutien ^^

Le TCD c'est ce qu'on faisait avant ma formule, sauf que la personne en charge de faire des récupération de données pouvait mettre une demi journée à les sortir du coup je me suis proposée pour automatiser tout cela.
 

Simon M

XLDnaute Nouveau
Ce que je veut c'est une somme des heures de travail comprises entre tous les critères sélectionner.
Sans toucher le tableau de Suivi et sans VBA de préférence car mes clients ne maîtrise pas le VBA.
La plage ce trouve dans "Suivi"
et le résultats dans "Visu"
Mais plutôt que d'avoir un affinage en fonction des critères. Comme je l'ai déjà fait, je souhaite avoir la possibilité de laisser des critères vides comme l'exemple citée plus haut
 

Simon M

XLDnaute Nouveau
=SI(A3="";"";SI(C4="";SOMME.SI.ENS(Suivi!$I:$I;Suivi!$A:$A;A3;Suivi!$D:$D;SI(E3="";"<>""";E3);Suivi!$B:$B;SI(G3="";"<>""";G3);Suivi!$E:$E;SI(I3="";"<>""";I3);Suivi!$F:$F;SI(K3="";"<>""";K3);Suivi!$J:$J;SI(M3="";"<>""";M3);Suivi!$K:$K;SI(O3="";"<>""";O3);Suivi!$L:$L;SI(Q3="";"<>""";Q3));SOMME.SI.ENS(Suivi!$I:$I;Suivi!$A:$A;">="&A3;Suivi!$A:$A;"<="&C4;Suivi!$D:$D;SI(E3="";"<>""";E3);Suivi!$B:$B;SI(G3="";"<>""";G3);Suivi!$E:$E;SI(I3="";"<>""";I3);Suivi!$F:$F;SI(K3="";"<>""";K3);Suivi!$J:$J;SI(M3="";"<>""";M3);Suivi!$K:$K;SI(O3="";"<>""";O3);Suivi!$L:$L;SI(Q3="";"<>""";Q3))))

Ce n'est pas encore parfait mais j'aimerais juste améliorer ceci afin que les Si(Truc="";"<>""";Truc)
Prenne en compte aussi les cellule vides.
Merci
 

Discussions similaires

Réponses
3
Affichages
238
Réponses
9
Affichages
559

Statistiques des forums

Discussions
315 096
Messages
2 116 184
Membres
112 678
dernier inscrit
arno12345678