Pb boucle

jack bauer 57070 Messages postés 19 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 24 février 2006 - 21 févr. 2006 à 16:42
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 22 févr. 2006 à 01:15
' On ajoute les points confirmés dans le filtre numérique


' Déclaration des variables
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Dim IcaptFiltre(32) As Double
Dim Calculmoy As Byte
Dim IcaptFiltrePos As Double
Dim IcaptFiltreCount As Double
Dim x As Double
Dim imoy As Double
x = 0
IcaptFiltreCount = 1
Dim j As Integer


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Ajoute les points confirmés dans le filtre numérique
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

If Calculmoy = 1 Then


While Range("C2").Offset(x, 0).Value <> ""

If IcaptFiltrePos >= TextBox2.Text Then
IcaptFiltrePos = 0
End If

If IcaptFiltreCount > TextBox2.Text Then
IcaptFiltreCount = TextBox2.Text
End If

IcaptFiltre(IcaptFiltrePos) = Worksheets("Données Converties").Range("C2").Offset(x, 0)



imoy = 0

For j = 0 To IcaptFiltreCount - 1

imoy = imoy + IcaptFiltre(j)

Next j

imoy = imoy / IcaptFiltreCount

Worksheets("Données Converties").Range("G2").Offset(x, 0).Value = imoy

IcaptFiltrePos = IcaptFiltrePos + 1
IcaptFiltreCount = IcaptFiltreCount + 1
x = x + 1

Wend

End If



STABILITE = 0
If STABILITE = 0 Then


' Déclaration des variable

Dim x1 As Double
x1 = 0


' Vérification que la stabilité est revenue

While Worksheets("Données Converties").Range("C2").Offset(x1, 0) <> ""

If (Worksheets("Données Converties").Range("C2").Offset(x1, 0) < Worksheets("Données Converties"). _
Range("E2").Offset(x1, 0)) Or (Worksheets("Données Converties").Range("C2").Offset(x1, 0) > Worksheets("Données Converties"). _
Range("F2").Offset(x1, 0)) Then
Cstable = 0
IcaptFiltrePos = 0
IcaptFiltreCount = 1

Else

Cstable = Cstable + 1
Cinf = 0

Csup = 0
If Cstable >= TextBox3.Text Then

STABILITE = 1
Calculmoy = 1

Else

Calculmoy = 1

End If

End If

Wend

'Else

voila mon souci ... c'est un programme qui va moyenner des points et rejeter des point qui sont hor une certaine fenetre avec un maximum de rejet toléré ! je fai ma fonction moyenne ... le problem c que qd je l apel apré dans le prog il ne le fé pa ! j ai des prob de boucle mais je m en sort pas

merci

7 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Modérateur Dernière intervention 23 décembre 2008 23
21 févr. 2006 à 17:06
Salut,

Execute d'abord ton programme en pas à pas pour voir dans quelles boucles il ne rentre pas, ou quels IF ne fonctionnent pas.


Comme tu ne nous donnes pas la totalité de ton code, on ne peut pas vraiment voir ce qu'il fait.

On ne sait pas quand et comment est appelée ta procédure.

Manu
0
jack bauer 57070 Messages postés 19 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 24 février 2006
21 févr. 2006 à 17:18
en fait ce que je comprend pas ...

c'est que quand je dit : SI ...........

ALORS moyenne = = 1

IN SI

par exemple et bien il ne va pas à : SI moyenne = = 1
ALORS .........................;

???

je sais c pa trop clair

a+
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Modérateur Dernière intervention 23 décembre 2008 23
21 févr. 2006 à 17:52
Si tu es conscient que ce n'est pas clair (et tu as raison de l'être), alors trouve une autre explication.

Ce n'est pas à nous de deviner quel est ton problème.

Manu
0
jack bauer 57070 Messages postés 19 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 24 février 2006
21 févr. 2006 à 18:02
oula ! j'ai pas eu l'impression de te manquer de respect ... si ? alors pas la peine de prendre ce ton la stp

je viens pas la pour qu'on me resolve directe mes pbs ou qu'on me fasse mon tag ! je viens juste voir si je peux trouver des pistes
bye

jack
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
21 févr. 2006 à 18:57
ON SE CALME !!!

Il ne s'agit pas de manque de respect.
Il est vrai que ce n'est pas trop clair mais quand je vois ton code :

...
STABILITE = 0
If STABILITE = 0 Then
...
else
...
end if

Il est évident que le code après le else ne sera jamais exécuté.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Modérateur Dernière intervention 23 décembre 2008 23
21 févr. 2006 à 23:44
Ah ? Mon ton n'est pourtant pas monté d'un iota ...


Je vais m'exprimer autrement :



Si tu es conscient que ce n'est pas clair (et tu as raison de l'être), alors essayes de trouver une autre explication.

Ce n'est pas à nous de deviner quel est ton problème.



Que pourrais-je dire d'autre ?

Il ne faut pas te sentir agressé à la moindre remarque. On est là
pour s'entraider, mais avec un minimum de dialogue et d'explications,
on y arrive mieux.




Manu
Gentil VBiste.
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
22 févr. 2006 à 01:15
salut,

déjà c'est du VBA donc je ne te serais pas d'une grande aide, mais le premier "truc" qui me saute aux yeux c'est çà :

IcaptFiltreCount = TextBox2.Text

un Double qui reçoit une String, çà peut jouer des tours.....



ensuite je vois un :

While Worksheets("Données Converties").Range("C2").Offset(x1, 0)

pour X1 =0, mais en alors que ni X1Worksheets ne changent.



à voir de plus prêt....



PCPT [AFCK]

VBiste moins Gentil que Manu mais un peu gentil quand même ^^.
0
Rejoignez-nous