XL 2010 Problème itération des boucles

Johan

XLDnaute Occasionnel
Bonjour,

J'aurais besoin de vos lumières pour faire fonctionner une boucle incluse dans une autre. Comme ci-suit :


For i = 2 To ligneTot
val1= Cells(i, 4).Value

If val1 < 0.5 Then
Count = 1

For j = i To ligneTot

val2 = Cells(j, 4).Value
If val2 > 0.5 Then

Count = Count + 1

Exit For
End If
Next

'Exit For
End If
Next

resultat = Count / 2

Cells(22, 3).Value = resultat

L'idée étant de compter chaque fois où ma plage passe sous la valeur 0.5, à partir on compte le moment où elle repasse au dessus, puis en dessous, puis dessus... jusqu'à ce qu'elle ne tombe plus sous 0.5

Ma bouche pose problème dans la mesure où je top la première valeur sous 0.5, puis celle au dessus puis mon count redevient "1" au lieu de 3 (normal vu que je lui dis Count = 1) et ensuite je reste à nouveau bloqué dans le "for j" jusqu' à la fin.

Merci de votre aide
 

Johan

XLDnaute Occasionnel
Elle fonctionne mais ne répond pas à ce que je veux :/

Calculer le nombre de fois où les valeurs de la colonne D sont <0,5 = 1
Puis le moment ou on repasse au dessus de 0,5 = 2
Puis retourner dans la première boucle pour un deuxième passage sous 0,5 = 3
...
Résultat final divisé par 2


J'essaye de faire autrement avec un "for each cell in range" => WorksheetFunction.CountIf ... mais ca a l'air de bien se casser la gueule aussi.
 

Lone-wolf

XLDnaute Barbatruc
Essaie comme ceci

VB:
Sub test()
For i = 2 To 17
If Cells(i, 4) < 0.5 Then Val1 = Cells(i, 4): Count =  1
If Cells(i, 4) > 0.5 Then Val2 = Cells(i, 4): Count = 0: Count = Count + 1
Next i
Cells(22, 3) = Count / 2
End Sub
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
197

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 813
dernier inscrit
kaiyi