XL 2010 Compter les pics mini d'un graphique

  • Initiateur de la discussion Initiateur de la discussion Johan
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
833
Réponses
1
Affichages
606
Retour