somme conditionelle + recherche de caractère dans une liste de valeur ... sans VBA...

groudoudou

XLDnaute Nouveau
Bonjour à tous.

tout d'abord je tiens à m'excuser pour la prise de tête que va engendrer ma question :p

Dans le fichier Excel ci-joint, j'aimerai faire une somme particulière.

Exemple pour le réseau HFG-1 :
Je souhaite compter (pas manuellement... je l'ai fait en attendant mais le fichier risque d'évoluer et tout ce que j'ai fait n'aura servi à rien...) le nombre de patin "normal" "renforcé" et "total".

Pour cela, il faut savoir que si, dans le type du patin, nous trouvons la lettre "R" ou "M" alors c'est un patin renforcé.
On peut alors obtenir le nombre de patin correspondant à mes critères.

Mais voilà j'ai essayé d'utiliser dans la cellule D25 la fonction suivante:
D25 = SOMME.SI(C8:C23;ESTERREUR(CHERCHE("R";C8:C23));D8:D23)

Mais j'ai l'impression que ESTERREUR est mal adaptée à mon problème, vu qu'elle me renvoi un "VRAI" mais doit à tout les coups me dire : "oui dans ta liste C8:C23 j'ai bien trouvé le caractère "R" "...

ATTENTION : je dois être capable d'utiliser un filtre sans que les valeurs ne soient impactées... ce qui est le cas avec la version actuelle vu que j'ai cliqué sur les cellules 1 à 1....

Il doit y avoir une petite astuce mais je n'arrive pas à trouver.

Si quelqu'un peut m'aider..

Merci d'avance !
 

Pièces jointes

  • Essai-excel.xlsx
    93.3 KB · Affichages: 28
  • Essai-excel.xlsx
    93.3 KB · Affichages: 34
  • Essai-excel.xlsx
    93.3 KB · Affichages: 33

Dranreb

XLDnaute Barbatruc
Re : somme conditionelle + recherche de caractère dans une liste de valeur ... sans V

Bonjour.

Pour les lignes 24 à 26, colonne D :
Code:
=D26-D25
=SOMMEPROD(1-ESTERREUR(CHERCHE("M";$C$8:$C23))*ESTERREUR(CHERCHE("R";$C$8:$C23));D$8:D23)
=SOMME(D$8:D23)
et en VBA:
VB:
[D24].FormulaR1C1 = "=R[2]C-R[1]C"
[D25].FormulaR1C1 = "=SUMPRODUCT(1-ISERROR(SEARCH(""M"",R8C3:R[-2]C3))*ISERROR(SEARCH(""R"",R8C3:R[-2]C3)),R8C:R[-2]C)"
[D26].FormulaR1C1 = "=SUM(R8C:R[-3]C)"

Remarque: si la lettre M ou R est toujours en dernière position, il vaudrait mieux :
Code:
=SOMMEPROD(1-(DROITE($C$8:$C23;1)<>"M")*(DROITE($C$8:$C23;1)<>"R");D$8:D23)
 
Dernière édition:

djidji59430

XLDnaute Barbatruc
Re : somme conditionelle + recherche de caractère dans une liste de valeur ... sans V

Bonjour,

une autre façon :


total R=SOMMEPROD(--(SIERREUR(CHERCHE("r";$C$8:$C$507);0)>0))J
total M=SOMMEPROD(--(SIERREUR(CHERCHE("m";$C$8:$C$507);0)>0))liste reseaux
total R/reseau=SOMMEPROD(--(SIERREUR(CHERCHE("r";$C$8:$C$507);0)>0)*($B$8:$B$507=$J$11))HFG-1
total M/reseau=SOMMEPROD(--(SIERREUR(CHERCHE("m";$C$8:$C$507);0)>0)*($B$8:$B$507=$J$12))H2F-4
total/reseau=NB.SI($B$8:$B507;$J$13)HFG-2




 

Pièces jointes

  • Essai-vdj.xlsx
    89 KB · Affichages: 20
Dernière édition:

groudoudou

XLDnaute Nouveau
Re : somme conditionelle + recherche de caractère dans une liste de valeur ... sans V

Salut Dranreb,

Merci pour ton aide ! Ca marche du feu de dieu :)

Petite explication ?

=SOMMEPROD(1-ESTERREUR(CHERCHE("M";$C$8:$C23))*ESTERREUR(CHERCHE("R";$C$8:$C23));D$8:D23)

A tous les coups :
ESTERREUR(CHERCHE("M";$C$8:$C23) renvoi 1 si il y a un "M" dans la cellule testée.
ESTERREUR(CHERCHE("R";$C$8:$C23) renvoi 1 si il y a un "R" dans la cellule testée.

Ce que je ne comprends pas c'est le "*" entre les deux ESTERREUR... c'est l'équivalent du "ou" ?
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : somme conditionelle + recherche de caractère dans une liste de valeur ... sans V

ESTERREUR(CHERCHE("M";$C$8:$C23) renvoi 1 si il y a un "M" dans la cellule testée.
Non ! Renvoie FAUX s'il y est, puisque CHERCHE trouve sa position.
Renvoie VRAI s'il n'y est pas. Soit 1 s'il est impliqué dans une multiplication, laquelle donne 1 si donc ni "M" ni "R" n'y sont. Le Not est obtenu par soustraction de 1 de ça.
M ou R = Non(Non M et Non R). Dixit Monsieur George BOOLE, dont il me semble parfois qu'il partage son karma avec celui de ce fameux Jaques de LAPALISSE. D'ailleurs n'est il pas vrai (true) que ses évidences s'appellent aussi des truisme ?
 
Dernière édition:

groudoudou

XLDnaute Nouveau
Re : somme conditionelle + recherche de caractère dans une liste de valeur ... sans V

:D

une réponse comme je les aime mon cher Dranreb ;) J'ai l'impression de lire mon ancien prof de math quand je lui posais des questions sur les nombres complexes :p

Merci encore à toi !
 

Discussions similaires