Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
En Q6 je voudrais la somme de la colonne K ( à partir de la ligne 11) si en colonne E les valeures sont A ou B.
En fait c'est comme si on filtrait la colonne E pour voir les valeures A & B et puis faire la somme de la colonne K.
J'ai essayé par macro mais celà ne me convient pas
Code:
Sub Macro16()
With Sheets("BN").Unprotect
Selection.AutoFilter Field:=5, Criteria1:="=A", Operator:=xlOr, _
Criteria2:="=B"
Range("Q6").Select
ActiveSheet.Unprotect
Range("Q6").Select
ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,R[5]C[-6]:R[2055]C[-6])"
End With
End Sub
Ce sujet m'intéresse, alors j'ai pris vos deux solutions. En l'absence de tableau, j'en ai crée un , la formule avec SOMMEPROD retourne le résultat 0 alors que la formule SOMME.SI retourne un résultat différent.
Avez vous une explication ?. Ci-joint tableau.
La fonction SOMMEPROD est également matricielle, mais peut être validée par une simple Entrée.
En matricielles :
OU → +
ET → *
SAUF → -
Les conditions (E11:E20="A") et (E11:E20="B") renvoient chacune VRAI ou FAUX, soit 1 ou 0.
En les multipliant on obtient toujours 0, en les additionnant on obtient 1 (VRAI) si une des deux conditions est remplie et 0 s'il n'y en a aucune.
Dans le cas présent c'est bien l'une ou l'autre condition et non l'une et l'autre condition.
le probleme que tu rencontres, c'est que tu travailles sur la meme colonne, avec 2 valeurs differentes de test, donc en francais, tu cherches la somme de la colonne K, si la colonne E = A ou =B
un * = ET or une cellule ne pouvant etre à la fois = à A et B, le resultat est 0
+ = OU ce qui correspond à ta demande
selon l'exemple donné, regardons les resultats selon les valeurs possibles
avec * (ET), (E11:E20="A") * (E11:E20="B")
cellule E = A : 1 * 0 = 0 cellule E = B : 0 * 1 = 0 cellule E = C : 0 * 0 = 0
le resultat des tests etant = à 0 à chaque ligne, le resultat final = 0
avec + (OU), (E11:E20="A") + (E11:E20="B")
Cellule E = A : 1 + 0 = 1 Cellule E = B : 0 + 1 = 1 Cellule E = C : 0 + 0 = 0
le resultat des tests etant = à 1 Quand tu as soit A, soit B, le resultat finale correspond bien à tes criteres
le fait de mettre la matrice à "sommer" après un point virgule donne plus de souplesse car on a alors le même comportement qu'une fonction somme
(pas d'erreur en cas de valeur non numérique par exemple)
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD