Re : boucle imbriqué
re Dranbed, le forum
J'ai essayé de tenir compte de tes codes et je ne sais pas si je les ai placés au bon endroit.
voici :
ub trouveask1()
Dim F As Worksheet, Te(), Ts(), L&, TVal(1 To 7), TLim(1 To 7) As Double, _
TSup(1 To 7) As Boolean, TL(1 To 7), JMax&, J&, K&
Set F = Sheets("essai")
Te = Intersect(F.[A
], F.UsedRange).Value
ReDim Ts(1 To UBound(Te, 1), 1 To 2)
For L = 2 To UBound(Ts, 1)
If Not IsEmpty(Te(L, 4)) Then
JMax = JMax + 1
TVal(JMax) = Te(L, 4)
TSup(JMax) = TVal(JMax) > Te(L, 3)
TL(JMax) = L
TLim(JMax) = IIf(TSup(JMax), Te(L, 3), Te(L, 2))
End If
J = 1: Do While J <= JMax
If TVal(J) > Te(L, 3) Xor TSup(J) Then
' If IsEmpty(Ts(L, 1)) Then Ts(L, 1) = IIf(TSup(J), _
">", "<=") & " " & TVal(J) ' Instruction à supprimer si elle ne sert à rien…
Ts(TL(J), 1) = Te(L, 1)
Ts(TL(J), 2) = TLim(J)
JMax = JMax - 1
For K = J To JMax
TVal(K) = TVal(K + 1)
TSup(K) = TSup(K + 1)
TL(K) = TL(K + 1): Next K
Else
If TSup(J) Then
If Te(L, 2) < TLim(J) Then TLim(J) = Te(L, 2)
Else
If Te(L, 3) > TLim(J) Then TLim(J) = Te(L, 3)
End If
J = J + 1: End If: Loop: Next L
'F.[E1].Resize(UBound(Ts, 1)).Value = Ts
F.[E1:F2].Resize(UBound(Ts, 2)).Value = Ts
End Sub
et malheureusement cela ne fonctionne que pour la 1ere ligne.
J'en deduis que je n'ai pas placé tes modifs aux bons endroits.
est ce que vous pouvez confirmer, et me signaler ou j'ai fais l'erreur ?
Cordialement
Lao31