XL 2010 Compter les pics mini d'un graphique

Johan

XLDnaute Occasionnel
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.


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 !
 

Pièces jointes

  • testpics.xlsm
    25.9 KB · Affichages: 18

CISCO

XLDnaute Barbatruc
Bonjour

Si ce n'est pas indispensable de faire en VBA, pour ce qui est du nombre de pics, on doit pouvoir faire avec une formule du style
Code:
=SOMMEPROD((((A1:A222)-(A2:A223))*((A2:A223)-(A3:A224))<0)*1)
, en la modifiant pour tenir compte de tes critères 0,6 et 0,1.

@ plus

P.S : Si tu as des pics proches les uns des autres, des parasites, cela ne conviendra pas tel que.
 

Pièces jointes

  • testpics.xlsm
    26.7 KB · Affichages: 19
Dernière édition:

Discussions similaires

Réponses
1
Affichages
160

Statistiques des forums

Discussions
312 106
Messages
2 085 352
Membres
102 871
dernier inscrit
Maïmanko