Problème de Sommeprod

Etienne2323

XLDnaute Impliqué
Bonjour à tous,
c'est avec un peu de honte que je m'adresse à vous aujourd'hui ;) Je suis incapable de faire un petit sommeprod qui me semble pourtant très simple. J'ai essayé avec des somme(si matricielle, sommeprod, etc ... rien ne fonctionne :(

Dans le fichier joint, je cherche à reproduire le résultat de la cellule D2 sans avoir à passer par les étapes de la colonne C, une sorte de recherchev matricielle en fait.

Merci pour votre aide !

Cordialement,

Étienne
 

Pièces jointes

  • Exemple Etienne.xls
    26.5 KB · Affichages: 53
  • Exemple Etienne.xls
    26.5 KB · Affichages: 49
  • Exemple Etienne.xls
    26.5 KB · Affichages: 56

Etienne2323

XLDnaute Impliqué
Re : Problème de Sommeprod

Salut James,
merci de la réponse rapide.
Ce n'est pas tout à fait ça.

Je vais tenter d'être plus clair dans mon explication.

Les cotes de risque saisies dans la colonne A sont les cotes de 2 obligations que j'ai dans mon fichier réel. Pour le bien de l'exemple, j'ai mis seulement 2 obligations, mais souvent, les portefeuilles en contiennent des dizaines.

Ensuite, en colonne B, il s'agit du poids de l'obligation dans le portefeuille.

La colonne C représente une cote numérique que j'attribue à chacune des cote de risque. Plus le chiffre est faible, moins l'obligation est risquée. Ces cotes se retrouvent dans l'onglet Paramètres.

Le but de tout ça est de pouvoir faire une somme pondérée de chacune des cote de risque chiffrée pour être en mesure de déterminer la cote de risque chiffrée moyenne de mon portefeuille.

Ainsi, l'idée d'additionner les recherchev est bonne dans le cadre de l'exemple que je vous ai fourni. Par contre, dans mon vrai fichier, le nombre d'obligations détenues variera toujours. C'est pourquoi je dois employer une formule matricielle qui prendra en considération automatiquement le nombre d'obligations détenues.

Merci encore !

Étienne
 
Dernière édition:

Etienne2323

XLDnaute Impliqué
Re : Problème de Sommeprod

Bonjour Monique, James, le fil,
@ Monique : Merci beaucoup pour cette réponse. C'est exactement ça ! Votre réponse est parfaitement ce que je cherche à réaliser.

@ Forum : Pour ceux que ça pourrait intéresser, j'ai réussi à développer une fonction personnalisée qui réussit également à faire le travail. La voici :
VB:
Public Ma_Cellule as String
Function MaRechercheV_Mat(Source As Range)

Dim Cell As Range
Dim DL As Integer
Dim Poids, Ma_Variable, Valeur_Recherche

DL = Cells(2, 1).End(xlDown).Row
For Each Cell In Source
    Ma_Cellule = Cell
    Poids = Cells(Cell.Row, 2).Value
    Ma_Variable = Mon_Test(Ma_Cellule)
    Valeur_Recherche = Valeur_Recherche + (Ma_Variable * Poids)
Next Cell

MaRechercheV_Mat = Valeur_Recherche

End Function

Function Mon_Test(Ma_Cellule As String)
Dim Ma_Table As Range
Set Ma_Table = Worksheets("Paramètres").Range("A1:D23")
Mon_Test = Application.WorksheetFunction.VLookup(Ma_Cellule, Ma_Table, 4, False)
End Function

Pour l'utiliser, simplement mettre =MaRechercheV_Mat(Source) dans la cellule de votre choix et sélectionner la source.

Encore une fois Monique, merci de votre aide !

Cordialement,

Étienne
 

Discussions similaires

Réponses
35
Affichages
2 K

Statistiques des forums

Discussions
312 355
Messages
2 087 553
Membres
103 588
dernier inscrit
Tom59300Tom