VBA Problème de if dans une boucle for
Résolu
Bonjour,
J'essaie de faire une simulation sur vba et je bloque sur une partie de mon code. Il s'agit d'une boucle For avec deux If:
For v = x To x - 20 Step -1
If Range("E" & v + 4).Value < achat * 0.95 Then final = Range("E" & v + 4).Value Else
If Range("K" & v + 3).Value < Range("K" & v + 4).Value * 0.975 Then final = Range("E" & v + 3) Else
Next
Le problème est que la variable "final" continue de changer. J'aimerai qu'une fois que l'une des 2 conditions est remplie la boucle s'arrête et "final" ne change plus.
J'ai essayé avec des Exit For mais ça n'a pas marché.
Merci d'avance pour vos réponses et éventuelles solutions!
J'essaie de faire une simulation sur vba et je bloque sur une partie de mon code. Il s'agit d'une boucle For avec deux If:
For v = x To x - 20 Step -1
If Range("E" & v + 4).Value < achat * 0.95 Then final = Range("E" & v + 4).Value Else
If Range("K" & v + 3).Value < Range("K" & v + 4).Value * 0.975 Then final = Range("E" & v + 3) Else
Next
Le problème est que la variable "final" continue de changer. J'aimerai qu'une fois que l'une des 2 conditions est remplie la boucle s'arrête et "final" ne change plus.
J'ai essayé avec des Exit For mais ça n'a pas marché.
Merci d'avance pour vos réponses et éventuelles solutions!
2 réponses
-
As-tu essayé comme ça?
For v = x To x - 20 Step -1 If Range("E" & v + 4).Value < achat * 0.95 Then Final = Range("E" & v + 4).Value Exit For Else If Range("K" & v + 3).Value < Range("K" & v + 4).Value * 0.975 Then Final = Range("E" & v + 3) Exit For Else End If End If Next -
ça marche super! Merci beaucoup de m'avoir répondu si vite!