Index min si
A
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)))"
A
Bonjour,
pas beaucoup de réponse
SVP Help me
A
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