SOMME.PROD, SOMME.SI avec filtre

Le
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
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #16559031
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




LSteph
Le #16559251
..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






milloche
Le #16559441
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" 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





milloche
Le #16559711
Laisse tomber, j'ai trouvé!
Un grand merci, t'es fort.
JMM
"LSteph" %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








milloche
Le #16559851
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" %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








LSteph
Le #16559941
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" %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












LSteph
Le #16560091
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à
LSteph
Le #16560211
..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à


milloche
Le #16560621
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" %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à




milloche
Le #16560701
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" %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" %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à








Publicité
Poster une réponse
Anonyme