Addition suite à une recherche multicritère

legnalived02

XLDnaute Nouveau
Bonjour,

Je suis bloqué par un problème de d’addition de données conditionnée par une recherche multicritère pour compléter un tableau de donnée. (Excel 2007)

Je cherche désespérément comment faire apparaitre dans mon document de synthèse (onglet origine) chaque ligne d’information à partir de ma base de données (onglet base de données CEH).

Pour cela il faut regarder dans la base de donnée chaque critère : l’année (colonne F), le mois (colonne E), l’origine (colonne R), le type d’accident* (colonne J, K, L et M) et additionner l’ensemble pour savoir combien de fois je retrouve ces couples.

*Dans l’onglet Origine j’ai deux cellules à remplir suivant le type d’origine (exemple A13) : une fois en comptant les « soins » (cellule de destination B13) une fois en « arrêt » (cellule de destination B14).
Soin = type d’accident colonne J +L + (K si colonne O et P vide)
Arrêt = type d’accident colonne M + (K si colonne O ou P contient une valeur supérieure ou égale à 1)


J’ai tenté d’utiliser des recherche et sommeprod grâce à certains messages mais sans succès… Ai-je mal utilisé les informations données ou la formule est inadapté à ce que je souhaite mettre en place je ne saurais le dire. C’est pourquoi je me tourne vers vous, j’ai toujours pu trouver une solution grâce à vos explications, exemples cette fois je viens pour solliciter un coup de main.

Je vous mets un fichier exemple.

Merci d'avance pour toute l'aide que vous pourrez m'apporter ou du moins me guider.
 

Pièces jointes

  • Recherche multicritere et addition des resultats.xlsx
    31.1 KB · Affichages: 81
  • Recherche multicritere et addition des resultats.xlsx
    31.1 KB · Affichages: 81
  • Recherche multicritere et addition des resultats.xlsx
    31.1 KB · Affichages: 81

Monique

Nous a quitté
Repose en paix
Re : Addition suite à une recherche multicritère

Bonjour,
Pour SommeProd, les plages doivent avoir la même longueur, ça c'est bon.
Mais SommeProd ne prend pas les colonnes entières.
Tu es quitte pour renommer les plages du 2ème onglet et je pense que ce sera bon.
 

legnalived02

XLDnaute Nouveau
Re : Addition suite à une recherche multicritère

Merci Monique pour cette reponse rapide.

Tu entends quoi exactement par renommer les plages du second onglet?
(Actuellement je passe par une plage qui prend en compte l'ensemble de la colonne en utilisant un nom pour cette plage)
 

Monique

Nous a quitté
Repose en paix
Re : Addition suite à une recherche multicritère

Bonjour,

"Renommer", ce n'est pas le terme exact, peut-être
C'est redéfinir tes plages déjà nommées,
pour qu'elles ne soient pas la colonne entière,
de façon à ce que SommeProd fonctionne.

Ce qu'il ne faut pas faire, justement :
"Actuellement je passe par une plage qui prend en compte l'ensemble de la colonne"
 

legnalived02

XLDnaute Nouveau
Re : Addition suite à une recherche multicritère

J'ai essayer de voir si j'avais un probleme de liste
Mais avec des formules simples qui utilise un nom derriere lequel j'ai une colonne entiere je n'ai pas de problème.

=SOMMEPROD((Année=$A$12)*(Mois_CEH=J$12)*(Originetab="Accident de plain-pied")*((ESTNUM(TROUVE("X";AB_CEH)))+(ET(ESTNUM(TROUVE("X";ATJ_CEH));(NBATPREVU_CEH=0);(NBATREELCEH=0))+(ESTNUM(TROUVE("X";ATSA_CEH))))))

Donc si je reprends ma formule en la décomposant :
=SOMMEPROD((Année=$A$12)*(Mois_CEH=J$12)*(Originetab="Accident de plain-pied")*
Avec mes 3 premiers critères j'ai aucun probleme je trouve les bonnes valeurs

Par contre pour la suite quand je cherche un critère qui peut etre aléatoire
Soit j'ai quelque chose dans ma liste "AB_CEH" soit dans ma liste "ATSA_CEH" soit dans ma liste "ATJ_CEH" A la condition que cette derniere liste ne contienne rien dans les colonnes nommées NBATPREVU_CEH et NBATREELCEH
Formule suivante :
((ESTNUM(TROUVE("X";AB_CEH)))+(ET(ESTNUM(TROUVE("X";ATJ_CEH));(NBATPREVU_CEH=0);(NBATREELCEH=0))+(ESTNUM(TROUVE("X";ATSA_CEH))))))

Et bien je n'ai plus rien qui fonctionne

Je me demande si c'est pas un probleme de valeur
Que mes formules la prennent une valeur vrai ou faux

En tout cas voila ou je suis bloqué actuellement

Merci
 

Monique

Nous a quitté
Repose en paix
Re : Addition suite à une recherche multicritère

Bonjour,

=((ESTNUM(TROUVE("X";AB_CEH)))+(ET(ESTNUM(TROUVE("X";ATJ_CEH));(NBATPREVU_CEH=0);(NBATREELCEH=0))+(ESTNUM(TROUVE("X";ATSA_CEH)))))
ne donne rien

EstNum() et Trouve() ne servent à rien parce que tu n’as que des X
Si tu avais des X dans des termes du genre Xylophone ou X1 ou AbcX, oui, mais ici c'est inutile.

OU et ET sont remplacés par 0 et 1 (0 équivaut à FAUX et 1 équivaut à VRAI)

Ta phrase pour expliquer deviendrait :

Soit((j'aiquelque chose dans ma liste "AB_CEH")+(soit dans ma liste"ATSA_CEH")+(soit dans ma liste "ATJ_CEH"))*(A la conditionque cette derniere liste ne contienne rien dans les colonnes nomméesNBATPREVU_CEH=0) et *(NBATREELCEH=0)

((AB_CEH="X")+(ATSA_CEH="X")+(ATJ_CEH="X"))*(NBATPREVU_CEH=0)*(NBATREELCEH=0) ne donne rien

Mais celle-ci renvoie 6 dans le fichier (elle prend en compte tout le tableau, sans référence à la date ni à la nature de l’accident) :
=SOMMEPROD(((AB_CEH="X")+(ATSA_CEH="X")+(ATJ_CEH="X"))*(NBATPREVU_CEH=0)*(NBATREELCEH=0))

En J13, celle-ci doit aller (à copier ensuite vers la droite et la gauche, puis vers le bas 1 ligne sur 2) :
=SOMMEPROD((Année=$A$12)*(Mois_CEH=J$12)*(Originetab=$A13)*((AB_CEH="X")+(ATSA_CEH="X")+(ATJ_CEH="X"))*(NBATPREVU_CEH=0)*(NBATREELCEH=0))

J14, je ne sais pas ce que tu veux mettre
 

legnalived02

XLDnaute Nouveau
Re : Addition suite à une recherche multicritère

Bonjour,

Effectivement ma fin de formule pour voir la nature et verifier la condition d'absence de données si il y a une valeur dans ATJ etait trop complexe.
Merci pour cette résolution et simplification en simultanée!

Pour la seconde ligne (J14) je prend l'inverse si pour ATJ j'ai une valeur ou si j'ai un "X" dans la colonne ATAA
Donc il s'agit juste de faire quelques ajustement dans la formule de J13 en la mettant dans J14

Encore merci pour l'aide Monique.
 

legnalived02

XLDnaute Nouveau
Re : Addition suite à une recherche multicritère

Bonjour,

Je pensais que la formule etait complete mais apres une serie de test je me retrouve avec des incohérences

Exemple:
J'ai deux dates différentes (une fois en 2011 et une fois en 2010) qui ont le meme critere (mois, type et orignie)
les deux seront comptabilisé et additionne.

Donc c'est assez problematique puisque je cherche a différentier cela.
Je ne sais pas trop comment faire maintenant

D'autres formules?
Des etapes intermédiaires?
M'orienter vers le VBA ?

Merci d'avance pour les avis et idées.
 

Monique

Nous a quitté
Repose en paix
Re : Addition suite à une recherche multicritère

Bonjour,

Je ne sais pas où tu en es dans ton fichier.
Mais une seule année est prise en compte avec cetteformule (en C13) :
Code:
=SOMMEPROD((Année=$A$12)*(Mois_CEH=C$12)*(Originetab=$A13)*((AB_CEH="X")+(ATSA_CEH="X")+(ATJ_CEH="X"))*(NBATPREVU_CEH=0)*(NBATREELCEH=0))
Si ça ne va pas, joins un mini-fichier avec l'erreur que tu décris.
 
Dernière édition:

legnalived02

XLDnaute Nouveau
Re : Addition suite à une recherche multicritère

Bonjour,

En fait j'ai tiré mes formules dans les 24 lignes et 12 colonnes de mon fichier pour avoir mon tableau completé.

Et la ou j'ai vu des erreurs elle ne sont pas vraiment des erreurs mais des valeurs non actualisés
Je me retrouve avec un fichier peut lourd (moins de 200ko) mais qui à chaque modification que je fais dessus met 5min pour s'actualiser

J'ai desactivé le calcul automatique mais cela engendre les erreurs de valeurs que j'ai cité plus haut puisque les valeurs ne s'actualise plus directement.

Donc finalement je me retrouve avec les bon calcul mais avec un fichier inexploitable par sa lenteur de mise à jour.
Voila je ne sais pas si j'arrive a etre clair dans mon explication...
 

Discussions similaires

Réponses
8
Affichages
424
Réponses
56
Affichages
1 K

Statistiques des forums

Discussions
312 165
Messages
2 085 884
Membres
103 018
dernier inscrit
mohcen23