Selection devaleurs minimales parmis une plage de cellule

havopti

XLDnaute Nouveau
Bonjour à tous

Je suis bloqué sur un petit point d'un exercice.

Je cherche à récupérer des informations dans mon tableau en colonne L et M (ligne 65).
Je souhaiterai qu'en colonne M pour chacun des mes intervalles soit sélectionné et reporté l'écart type la plus faible du portefeuille et donc y ajouter en L l’espérance associée. Sachant que mes portefeuilles sont tirés au hasard le nombre de ceux-ci par intervalles est variables mais qu'ils sont déjà trier par espérance croissante et donc par intervalles.

Je joint un fichier test sans la macro originelle car elle n'est pas utile pour régler mon soucis
 

Pièces jointes

  • fichier test.xlsx
    246.7 KB · Affichages: 27
  • fichier test.xlsx
    246.7 KB · Affichages: 39
  • fichier test.xlsx
    246.7 KB · Affichages: 38
Dernière édition:

PMO2

XLDnaute Accro
Re : Selection devaleurs minimales parmis une plage de cellule

Bonjour,

Essayez le code s'il répond bien à votre attente
Code:
Sub aa()
Dim Plage As Range
Dim R As Range
Dim C As Range
Dim var As Variant
Dim var2 As Variant
Dim Bas#
Dim Haut#
Dim Mini#
Dim Variance#
Dim Esperance#
Dim j&
'---
Set Plage = ActiveSheet.Range("b58:all60")  'à adapter (data)
var2 = Plage
'---
Set R = ActiveSheet.Range("k65:k81")        'à adapter (intervalles)
For Each C In R
  '--- Pour déterminer les Bas et Haut ---
  var = Replace(C, "%", vbNullString)
  var = Split(var, "-")
  Bas# = (CDbl(var(0)) / 100) + 0.000001
  Haut# = CDbl(var(1)) / 100
  '---
  Mini# = 99999
  For j& = 1 To UBound(var2, 2)
    If Plage(1, j&) >= Bas# And Plage(1, j&) <= Haut# Then
      If Plage(3, j&) < Mini# Then
        Mini# = Plage(3, j&)
        Variance# = Plage(2, j&)
        Esperance# = Plage(1, j&)
      End If
    End If
  Next j&
  '--- Inscription ---
  C.Offset(0, 1) = Esperance#
  C.Offset(0, 2) = Mini#
  C.Offset(0, 3) = Variance#
Next C
End Sub
 

Pièces jointes

  • fichier test_pmo.xlsm
    226.5 KB · Affichages: 20

ROGER2327

XLDnaute Barbatruc
Re : Selection devaleurs minimales parmis une plage de cellule

Bonsoir havopti. Et bonsoir PMO2, que je n'avais pas vu...


Il faudrait que les données de la ligne 62 et celles de la plage K65:K81 fussent cohérentes.
Il faut donc mettre de l'ordre dans le bordel de la ligne 62. Par exemple :​
Code:
=SI(B58<0,09;EQUIV(B58;{0.0,005.0,01.0,015.0,02.0,025.0,03.0,035.0,04.0,045.0,05.0,055.0,06.0,065.0,07.0,075.0,08.0,085.0,09.1};1)/2-0,5&"% - "&
EQUIV(B58;{0.0,005.0,01.0,015.0,02.0,025.0,03.0,035.0,04.0,045.0,05.0,055.0,06.0,065.0,07.0,075.0,08.0,085.0,09.1};1)/2;"sup 9")&"%"
en B62, à étendre à droite jusqu'à ALL62.

Ceci fait, mettre​
Code:
=SIERREUR(1/MAX(SI((K65=$B$62:$ALL$62)*$B$58:$ALL$58;1/$B$58:$ALL$58;0));0)
en L65, à valider par Ctrl Maj Entrée, puis​
Code:
=INDEX($B$60:$ALL$60;EQUIV(L65;$B$58:$ALL$58;0))
en M65. Étendre ensuite jusqu'à la ligne 81.


Bonne soirée.

ℝOGER2327
#7773


Samedi 28 Gueules 142 (Sainte Hylactor et Pamphagus - fête Suprême Quarte)
4 Ventôse An CCXXIII, 7,9584h - troêne
2015-W08-7T19:06:01Z
 
Dernière édition:

havopti

XLDnaute Nouveau
Re : Selection devaleurs minimales parmis une plage de cellule

Merci pour ta réponse

Ça a l'air de fonctionner parfaitement, à l’exception de l'intervalle le plus élevé. C'est lié à la nomination de celui-ci j'ai juste changé en "9% - 100%" même si ce n'est pas très esthétique ça à le mérite de fonctionner. :)

Merci beaucoup
 

ROGER2327

XLDnaute Barbatruc
Re : Selection devaleurs minimales parmis une plage de cellule

Re...


(...)

Ça a l'air de fonctionner parfaitement, à l’exception de l'intervalle le plus élevé. (...)
Bizarre... Chez moi, ça fonctionne...​


Bonne nuit.


ℝOGER2327
#7774


Samedi 28 Gueules 142 (Sainte Hylactor et Pamphagus - fête Suprême Quarte)
4 Ventôse An CCXXIII, 9,2230h - troêne
2015-W08-7T22:08:07Z
 

Pièces jointes

  • fichier test-2.xlsx
    229.6 KB · Affichages: 23

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2