Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

SOMME.PROD, SOMME.SI avec filtre

10 réponses
Avatar
milloche
Bonjour à tous,

Dans un fichier de suivi bourse, j'ai plusieurs portefeuilles que je peux
filtrer 1 par 1

J'ai en Ax le nom, en Cx le nombre, en Ix, le prix , et en I1 la valeur
totale.

Ma formule actuelle en I1 est:
=SOMMEPROD((DROITE($A5:$A102;2)="/1")*ABS($C5:$C102)*(I5:I102))

Les portefeuilles sont donc repérés par le suffixe /1, /2, /3 en fin de nom
d'action.

Est-il possible de combiner cette formule avec SOUS.TOTAL pour obtenir un
résultat

Qui ne concerne que les lignes non masquées ? donc le portefeuille visible.

Je pourrais ainsi marquer les actions simplement par une couleur au lieu du
suffixe.

Pour le filtre couleur, c'est déjà résolu

Même question pour SOMME.SI (condition= ligne non masquée)

D'avance, merci

10 réponses

Avatar
LSteph
Bonjour,

Il y a des fonctions bien déterminées qui peuvent être utilisées avec
Sous.Total

Sommeprod et Somme.si n'en font pas partie mais je te recommande
vivement de favoriser l'usage de sommeprod et envoyer somme.si aux
oubliettes

Suggestion ajoute un param à ton sommeprod *(H5:H102)
moyennant que en H tu mette cette fonction =rvtest()

'''dans un module standard
Function RVTest()
Application.Volatile
RVTest = Not (Range(Application.Caller.Address).EntireRow.Hidden)
End Function

'lSteph


milloche a écrit :
Bonjour à tous,

Dans un fichier de suivi bourse, j'ai plusieurs portefeuilles que je peux
filtrer 1 par 1

J'ai en Ax le nom, en Cx le nombre, en Ix, le prix , et en I1 la valeur
totale.

Ma formule actuelle en I1 est:
=SOMMEPROD((DROITE($A5:$A102;2)="/1")*ABS($C5:$C102)*(I5:I102))

Les portefeuilles sont donc repérés par le suffixe /1, /2, /3 en fin de nom
d'action.

Est-il possible de combiner cette formule avec SOUS.TOTAL pour obtenir un
résultat

Qui ne concerne que les lignes non masquées ? donc le portefeuille visible.

Je pourrais ainsi marquer les actions simplement par une couleur au lieu du
suffixe.

Pour le filtre couleur, c'est déjà résolu

Même question pour SOMME.SI (condition= ligne non masquée)

D'avance, merci




Avatar
LSteph
..oupss, peut-être plus clair ainsi

*(H5:H102=VRAI)

LSteph a écrit :
Bonjour,

Il y a des fonctions bien déterminées qui peuvent être utilisées avec
Sous.Total

Sommeprod et Somme.si n'en font pas partie mais je te recommande
vivement de favoriser l'usage de sommeprod et envoyer somme.si aux
oubliettes

Suggestion ajoute un param à ton sommeprod *(H5:H102)
moyennant que en H tu mette cette fonction =rvtest()

'''dans un module standard
Function RVTest()
Application.Volatile
RVTest = Not (Range(Application.Caller.Address).EntireRow.Hidden)
End Function

'lSteph


milloche a écrit :
Bonjour à tous,

Dans un fichier de suivi bourse, j'ai plusieurs portefeuilles que je
peux filtrer 1 par 1

J'ai en Ax le nom, en Cx le nombre, en Ix, le prix , et en I1 la
valeur totale.

Ma formule actuelle en I1 est:
=SOMMEPROD((DROITE($A5:$A102;2)="/1")*ABS($C5:$C102)*(I5:I102))

Les portefeuilles sont donc repérés par le suffixe /1, /2, /3 en fin
de nom d'action.

Est-il possible de combiner cette formule avec SOUS.TOTAL pour obtenir
un résultat

Qui ne concerne que les lignes non masquées ? donc le portefeuille
visible.

Je pourrais ainsi marquer les actions simplement par une couleur au
lieu du suffixe.

Pour le filtre couleur, c'est déjà résolu

Même question pour SOMME.SI (condition= ligne non masquée)

D'avance, merci






Avatar
milloche
OK
J'ai rajouté (IV5:IV105) à ma formule (EXCEL2000 oblige, la dernière
colonne), et si j'y tape à la main des 1 , je vois que le résultat
change.Des 0 ne changent rien donc OK.
Mais je ne parviens pas à y intégrer ta fonction.
Je ne suis pas un balaise !! (à 60 ans pardonnable ?)
Quand je tente avec F8, j'ai erreur 424 objet requis
"LSteph" a écrit dans le message de news:
eSQRkg4$
Bonjour,

Il y a des fonctions bien déterminées qui peuvent être utilisées avec
Sous.Total

Sommeprod et Somme.si n'en font pas partie mais je te recommande vivement
de favoriser l'usage de sommeprod et envoyer somme.si aux oubliettes

Suggestion ajoute un param à ton sommeprod *(H5:H102)
moyennant que en H tu mette cette fonction =rvtest()

'''dans un module standard
Function RVTest()
Application.Volatile
RVTest = Not (Range(Application.Caller.Address).EntireRow.Hidden)
End Function

'lSteph


milloche a écrit :
Bonjour à tous,

Dans un fichier de suivi bourse, j'ai plusieurs portefeuilles que je peux
filtrer 1 par 1

J'ai en Ax le nom, en Cx le nombre, en Ix, le prix , et en I1 la valeur
totale.

Ma formule actuelle en I1 est:
=SOMMEPROD((DROITE($A5:$A102;2)="/1")*ABS($C5:$C102)*(I5:I102))

Les portefeuilles sont donc repérés par le suffixe /1, /2, /3 en fin de
nom d'action.

Est-il possible de combiner cette formule avec SOUS.TOTAL pour obtenir un
résultat

Qui ne concerne que les lignes non masquées ? donc le portefeuille
visible.

Je pourrais ainsi marquer les actions simplement par une couleur au lieu
du suffixe.

Pour le filtre couleur, c'est déjà résolu

Même question pour SOMME.SI (condition= ligne non masquée)

D'avance, merci





Avatar
milloche
Laisse tomber, j'ai trouvé!
Un grand merci, t'es fort.
JMM
"LSteph" a écrit dans le message de news:
%23ZUlgl4$
..oupss, peut-être plus clair ainsi

*(H5:H102=VRAI)

LSteph a écrit :
Bonjour,

Il y a des fonctions bien déterminées qui peuvent être utilisées avec
Sous.Total

Sommeprod et Somme.si n'en font pas partie mais je te recommande vivement
de favoriser l'usage de sommeprod et envoyer somme.si aux oubliettes

Suggestion ajoute un param à ton sommeprod *(H5:H102)
moyennant que en H tu mette cette fonction =rvtest()

'''dans un module standard
Function RVTest()
Application.Volatile
RVTest = Not (Range(Application.Caller.Address).EntireRow.Hidden)
End Function

'lSteph


milloche a écrit :
Bonjour à tous,

Dans un fichier de suivi bourse, j'ai plusieurs portefeuilles que je
peux filtrer 1 par 1

J'ai en Ax le nom, en Cx le nombre, en Ix, le prix , et en I1 la valeur
totale.

Ma formule actuelle en I1 est:
=SOMMEPROD((DROITE($A5:$A102;2)="/1")*ABS($C5:$C102)*(I5:I102))

Les portefeuilles sont donc repérés par le suffixe /1, /2, /3 en fin de
nom d'action.

Est-il possible de combiner cette formule avec SOUS.TOTAL pour obtenir
un résultat

Qui ne concerne que les lignes non masquées ? donc le portefeuille
visible.

Je pourrais ainsi marquer les actions simplement par une couleur au lieu
du suffixe.

Pour le filtre couleur, c'est déjà résolu

Même question pour SOMME.SI (condition= ligne non masquée)

D'avance, merci








Avatar
milloche
Je suis peut-être un peu chiant, mais aussi perfectionniste.
Un RVTest qui me renverrait le "Interior.ColorIndex" de la première cellule
de la ligne, c'est possible ?
Ce serait exactement ce que je voulais au départ !!!!
Merci
"LSteph" a écrit dans le message de news:
%23ZUlgl4$
..oupss, peut-être plus clair ainsi

*(H5:H102=VRAI)

LSteph a écrit :
Bonjour,

Il y a des fonctions bien déterminées qui peuvent être utilisées avec
Sous.Total

Sommeprod et Somme.si n'en font pas partie mais je te recommande vivement
de favoriser l'usage de sommeprod et envoyer somme.si aux oubliettes

Suggestion ajoute un param à ton sommeprod *(H5:H102)
moyennant que en H tu mette cette fonction =rvtest()

'''dans un module standard
Function RVTest()
Application.Volatile
RVTest = Not (Range(Application.Caller.Address).EntireRow.Hidden)
End Function

'lSteph


milloche a écrit :
Bonjour à tous,

Dans un fichier de suivi bourse, j'ai plusieurs portefeuilles que je
peux filtrer 1 par 1

J'ai en Ax le nom, en Cx le nombre, en Ix, le prix , et en I1 la valeur
totale.

Ma formule actuelle en I1 est:
=SOMMEPROD((DROITE($A5:$A102;2)="/1")*ABS($C5:$C102)*(I5:I102))

Les portefeuilles sont donc repérés par le suffixe /1, /2, /3 en fin de
nom d'action.

Est-il possible de combiner cette formule avec SOUS.TOTAL pour obtenir
un résultat

Qui ne concerne que les lignes non masquées ? donc le portefeuille
visible.

Je pourrais ainsi marquer les actions simplement par une couleur au lieu
du suffixe.

Pour le filtre couleur, c'est déjà résolu

Même question pour SOMME.SI (condition= ligne non masquée)

D'avance, merci








Avatar
LSteph
non!...

(même en mefc on choisira plutôt la condition d'origine)

on ne raisonne pas avec des couleurs!

car si le mécanisme de filtrage suppose un recalcul quand il s'agit de
renvoyer un booleen
ainsi avec application volatile la fonction est elle recalculée
(sinon elle resterait figée)

mais

un changement de couleur n'engendre pas de recalcul!

Il faudrait faire intervenir d'autres événements qui ne font qu'alourdir
à l'excès pour peu de chose.

@+

lSteph



milloche a écrit :
Je suis peut-être un peu chiant, mais aussi perfectionniste.
Un RVTest qui me renverrait le "Interior.ColorIndex" de la première cellule
de la ligne, c'est possible ?
Ce serait exactement ce que je voulais au départ !!!!
Merci
"LSteph" a écrit dans le message de news:
%23ZUlgl4$
..oupss, peut-être plus clair ainsi

*(H5:H102=VRAI)

LSteph a écrit :
Bonjour,

Il y a des fonctions bien déterminées qui peuvent être utilisées avec
Sous.Total

Sommeprod et Somme.si n'en font pas partie mais je te recommande vivement
de favoriser l'usage de sommeprod et envoyer somme.si aux oubliettes

Suggestion ajoute un param à ton sommeprod *(H5:H102)
moyennant que en H tu mette cette fonction =rvtest()

'''dans un module standard
Function RVTest()
Application.Volatile
RVTest = Not (Range(Application.Caller.Address).EntireRow.Hidden)
End Function

'lSteph


milloche a écrit :
Bonjour à tous,

Dans un fichier de suivi bourse, j'ai plusieurs portefeuilles que je
peux filtrer 1 par 1

J'ai en Ax le nom, en Cx le nombre, en Ix, le prix , et en I1 la valeur
totale.

Ma formule actuelle en I1 est:
=SOMMEPROD((DROITE($A5:$A102;2)="/1")*ABS($C5:$C102)*(I5:I102))

Les portefeuilles sont donc repérés par le suffixe /1, /2, /3 en fin de
nom d'action.

Est-il possible de combiner cette formule avec SOUS.TOTAL pour obtenir
un résultat

Qui ne concerne que les lignes non masquées ? donc le portefeuille
visible.

Je pourrais ainsi marquer les actions simplement par une couleur au lieu
du suffixe.

Pour le filtre couleur, c'est déjà résolu

Même question pour SOMME.SI (condition= ligne non masquée)

D'avance, merci












Avatar
LSteph
je disais non pour la mauvaise direction (amha)
mais
... sinon c'est possible!

sauf que précises comment y vient la couleur,
car si MEFC il n'y en a pas à cet endroit là
Avatar
LSteph
..tu n'as qu'à ensuite changer une couleur en A et tu verras que tu dois
refiltrer pour que le résultat se mette à jour

Function ClrTest()

Application.Volatile
ClrTest = Rows(Application.Caller.Row).Cells(1).Interior.ColorIndex > 0

End Function

'@+

LSteph a écrit :

je disais non pour la mauvaise direction (amha)
mais
... sinon c'est possible!

sauf que précises comment y vient la couleur,
car si MEFC il n'y en a pas à cet endroit là


Avatar
milloche
J'ai enlevé dans ta fonction, à la fin ">0' et .... ça marche.
Il suffit de faire F9. Dans ma macro de changement de portefeuille, j'ai
rajouté à la fin "Activesheet.calculate"
T'es un dieu
Je crois que c'est bon maintenant.
"LSteph" a écrit dans le message de news:
%23c9D0y5$
..tu n'as qu'à ensuite changer une couleur en A et tu verras que tu dois
refiltrer pour que le résultat se mette à jour

Function ClrTest()

Application.Volatile
ClrTest = Rows(Application.Caller.Row).Cells(1).Interior.ColorIndex > 0

End Function

'@+

LSteph a écrit :

je disais non pour la mauvaise direction (amha)
mais
... sinon c'est possible!

sauf que précises comment y vient la couleur,
car si MEFC il n'y en a pas à cet endroit là




Avatar
milloche
PAS A LA FIN de la macro, au début, juste quand je viens de changer la
couleur de la cellule.Puis la macro exécute le filtre sur cette couleur.
C'est d'enfer !
"milloche" a écrit dans le message de news:
%23oOnnS6$
J'ai enlevé dans ta fonction, à la fin ">0' et .... ça marche.
Il suffit de faire F9. Dans ma macro de changement de portefeuille, j'ai
rajouté à la fin "Activesheet.calculate"
T'es un dieu
Je crois que c'est bon maintenant.
"LSteph" a écrit dans le message de news:
%23c9D0y5$
..tu n'as qu'à ensuite changer une couleur en A et tu verras que tu dois
refiltrer pour que le résultat se mette à jour

Function ClrTest()

Application.Volatile
ClrTest = Rows(Application.Caller.Row).Cells(1).Interior.ColorIndex > 0

End Function

'@+

LSteph a écrit :

je disais non pour la mauvaise direction (amha)
mais
... sinon c'est possible!

sauf que précises comment y vient la couleur,
car si MEFC il n'y en a pas à cet endroit là