Bonjour,
Après avoir cherché sur le forum, je n'ai malheureusement pas trouvé de solution à mon problème.
Je souhaite déterminer la 2ème plus petite valeur d'une colonne selon une condition et répéter cette opération pour plusieurs colonnes.
En cherchant sur différents forums, j'ai vu que la formule matricielle PETITE.VALEUR correspondait à mon besoin.
Je n'arrive pas, en revanche, à transposer ma formule en VBA.
J'ai essayé la formule suivante mais j'ai une erreur :
'Conversion de mon numéro de colonne en lettre
Function DecAlph(c2 As Integer) As String
[COLOR="SeaGreen"] '
DecAlph = IIf(c2 < 703, IIf(c2 > 26, Chr((c2 - 1) \ 26 + 64), "") & _
IIf(c2, Chr(((c2 - 1) Mod 26) + 65), ""), "")
End Function
For C = 1 To 289
c2 = DecAlph(C)
Vmin2 = Evaluate("={SMALL(IF" & c2 & "10:" & c2 & "19=1," & c2 & "20:" & c2 & "29,""""),2)}")
F2.Cells(33, C) = Vmin2
Next C
J'ai par ailleurs essayé l’enregistrement de Macro afin de déterminer le code correspondant à ma formule et ai obtenu le résultat suivant :
F2.Cells(32, C).FormulaArray = "=SMALL(IF(R[-22]C:R[-13]C=1,R[-12]C:R[-3]C,""""),2)"
Je n'arrive à pas utiliser la fonction Evaluate correctement afin de pouvoir déterminer la valeur de ma cellule...
Auriez-vous une solution à ce problème ?
Merci d'avance !