Bonjour à tous,
Je souhaite par macro Excel déterminer le nombre de pics que comporte mon graphique. Pour cela je dois appliquer une méthode qui m'est imposée, à savoir :
1/
-passer sous la barre de 0,6
-déterminer toutes les valeurs mini lors de la descente jusqu'au seuil minimum
-attendre une remontée de 0,1 par rapport à la valeur suivante et enregistrer le pic
2/
-déterminer toutes les valeurs maxi lors de la remontée jusqu'au seuil maximum
-Attendre une descente de 0,1 par rapport à la valeur suivante et enregistrer le pic
-répéter étape 2
Je joins mon code et le fichier.
Le mieux est de passer par les points d'arrêt et de spam la touche F5 pour savoir ce qui se passe vraiment.
je bloque sur la partie :
Merci à tous !
Je souhaite par macro Excel déterminer le nombre de pics que comporte mon graphique. Pour cela je dois appliquer une méthode qui m'est imposée, à savoir :
1/
-passer sous la barre de 0,6
-déterminer toutes les valeurs mini lors de la descente jusqu'au seuil minimum
-attendre une remontée de 0,1 par rapport à la valeur suivante et enregistrer le pic
2/
-déterminer toutes les valeurs maxi lors de la remontée jusqu'au seuil maximum
-Attendre une descente de 0,1 par rapport à la valeur suivante et enregistrer le pic
-répéter étape 2
Je joins mon code et le fichier.
Le mieux est de passer par les points d'arrêt et de spam la touche F5 pour savoir ce qui se passe vraiment.
Code:
Private Sub Pics()
Dim nbPics As Integer
Dim derLigne As Long
derLigne = Range("A1048576").End(xlUp).Row
picMin = 1
For x = 1 To derLigne
valeurPic = Cells(x, 1).Value
nextPic = Cells(x + 1, 1).Value
Etape1:
If nbPics = 0 And valeurPic < 0.6 And valeurPic < picMin Or nbPics = 0 And nextPic - picMin > 0.1 Then
If valeurPic < 0.6 And valeurPic < picMin Then
picMin = valeurPic
End If
If nextPic - picMin > 0.1 Then
nbPics = nbPics + 1
GoTo Suite
End If
End If
Etape2:
If nbPics >= 1 Then
If nbPics >= 1 And valeurPic > picMax Or picMax - nextPic > 0.1 Then
If valeurPic > picMax Then
picMax = valeurPic
End If
If picMax - nextPic > 0.1 And valeurPic < picMin Then 'ERREUR BOUCLE
picMin = picMax
If nextPic - picMin > 0.1 Then
nbPics = nbPics + 1
GoTo Suite
End If
Else: GoTo NextIteration
End If
End If
End If
Suite:
NextIteration:
Next x
Cells(2, 11).Value = picMin
Cells(7, 11).Value = nbPics
End Sub
je bloque sur la partie :
Code:
If picMax - nextPic > 0.1 And valeurPic < picMin Then 'ERREUR BOUCLE
picMin = picMax
If nextPic - picMin > 0.1 Then
nbPics = nbPics + 1
GoTo Suite
End If
Else: GoTo NextIteration
End If
Merci à tous !