Index min si

Bonsoir,

Je vous joint un fichier car un fichier vaut mieux qu'un long discours, pour résumer, je veux convertir en VBA les formules ci-dessous

{=SI(MIN(SI(($AI5:$AU5<=0)*($AI$3:$AU$3>=A$3)*($AI$3:$AU$3<=C$3);$AI5:$AU5))=0;"";MIN(SI(($AI5:$AU5<=0)*($AI$3:$AU$3>=A$3)*($AI$3:$AU$3<=C$3);$AI5:$AU5)))}

=SI(A5="";"";SI(PLAFOND(-A5;$U5)<$T5;$T5;PLAFOND(PLAFOND(-A5;$U5);$U5)))

{=SI(MIN(SI(($AI5:$AU5<0)*($AI$3:$AU$3>=A$3)*($AI$3:$AU$3<=C$3);$AI$3:$AU$3))=0;"";MIN(SI(($AI5:$AU5<0)*($AI$3:$AU$3>=A$3)*($AI$3:$AU$3<=C$3);$AI$3:$AU$3)))}

merci de votre aide précieuse

par apprentissage :

    Selection.FormulaArray = _
        "=IF(MIN(IF((RC35:RC47<0)*(R3C35:R3C47>=R3C[-2])*(R3C35:R3C47<=R3C),R3C35:R3C47))=0,"""",MIN(IF((RC35:RC47<0)*(R3C35:R3C47>=R3C[-2])*(R3C35:R3C47<=R3C),R3C35:R3C47)))"

Bonjour,

pas beaucoup de réponse

SVP Help me

Ne vous ennervez pas sur le sujet, j'ai trouvé

Sub ChercheDate() 'FONCTIONNE
Dim Rg As Range
Dim DateDébut As Date
Dim DateFin As Date
Dim X
Dim Y
Dim CptY
Dim CptX
Dim ACder
Dim QMult
Dim QMini
With Sheets("Feuil1")

For CptX = 5 To 41
For CptY = 1 To 16 Step 3
DateDébut = DateSerial(Year(.Cells(3, CptY)), Month(.Cells(3, CptY)), Day(.Cells(3, CptY)))
DateFin = DateSerial(Year(.Cells(3, CptY + 2)), Month(.Cells(3, CptY + 2)), Day(.Cells(3, CptY + 2)))
Set Rg = .Range("AI3:AU3")
X = Application.Match(CLng(DateDébut), Rg, 1)
Y = Application.Match(CLng(DateFin), Rg, 1)
Dim Col1
Dim Col2
Col1 = Split(Cells(1, X + 34).Address, "$")(1)
Col2 = Split(Cells(1, Y + 34).Address, "$")(1)
Dim ValeurMini 'As Long
If WorksheetFunction.Min(.Range(Col1 & CptX & ":" & Col2 & CptX)) < 0 Then
ValeurMini = WorksheetFunction.Min(.Range(Col1 & CptX & ":" & Col2 & CptX))
.Cells(CptX, CptY).Interior.ColorIndex = 4
If ValeurMini < 0 Then
.Cells(CptX, CptY) = ValeurMini
'===VALEUR A COMMANDER===
QMult = .Cells(CptX, 21)
QMini = .Cells(CptX, 20)
Dim MoinsValeurMini
MoinsValeurMini = ValeurMini * -1
ACder = WorksheetFunction.Floor(ValeurMini, QMult)
If ACder * -1 < QMini Then
ACder = QMini
Else
ACder = -WorksheetFunction.Floor(ValeurMini, QMult)
End If
.Cells(CptX, CptY + 1).Interior.ColorIndex = 4
.Cells(CptX, CptY + 1) = ACder
'===TROUVER LA DATE===
Dim Plage
Set Plage = .Range(Col1 & CptX & ":" & Col2 & CptX)
Plage.Select
Dim DateLiv
DateLiv = Plage.Find(ValeurMini).Column
DateLiv = .Cells(3, DateLiv - 1).Value
.Cells(CptX, CptY + 2).Interior.ColorIndex = 4
.Cells(CptX, CptY + 2) = DateLiv
'======================
End If
Else
End If
Next
Next
End With
End Sub
Rechercher des sujets similaires à "index min"