Microsoft 365 Extraire les maximums d'une courbe au cours du temps.

Cyril D

XLDnaute Nouveau
Bonjour le Forum!

C'est ma première fois alors j'espère avoir mis en ressource toutes les informations nécessaires. Dans le cadres de mon mémoire j'ai récolté comme données des courbes de pressions exercées sur un capteur (60 poussées par enregistrement et environ 70 enregistrements) . Je souhaite maintenant extraire les 60 valeurs pics de ces courbes. La problème est que j'ai bien trouvé la fonction "Max et Min" mais que celles-ci ne renseignent que sur LA valeur la plus basse et LA plus haute. Est il possible de programmer Excel pour qu'il donne l'ensembles des valeurs (extrême pointées en rouge sur la photo). Ici ce sont des valeurs négatives donc je cherche "la plus petite" mais si nécessaire pour la manœuvre je sais que je peux tout passer en valeur absolue.

Si pour m'aider il vous faut le fichier voici un lien wetransfert pour pouvoir les télécharger car il est trop volumineux: https://we.tl/t-b4wj05P5a7

Merci d'avance !!!

Cyril D
 

Pièces jointes

  • Graphique avant tri pour le forum.png
    Graphique avant tri pour le forum.png
    36.4 KB · Affichages: 30

Cyril D

XLDnaute Nouveau
Pardon je viens de voir que dans mon message précedant j'ai confondu Fy et Fz je corrigeait juste cela.

Mes fichiers sont dans des dossiers différents mais ça je peux toujours m'arranger. Je vais essayer le copier coller tout de suite !

Merci !
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
En PJ un essai où on demande quel fichier traité.
Le seuil à prendre en compte est en I2.
Par sécurité je vérifie si, du fichier importé, B1="SampleCounter" et "E1"="Fz". ( sinon supprimer la sécurité )

VB:
Sub MacroAnalyse()
    Dim Nom_Fichier$, T, Tdata, DL, Nom$
    On Error GoTo Fin
    ' Ouverture fichier données
    Nom_Fichier = Application.GetOpenFilename("Fichiers Excel (*.xls*), *.xls*")
    If Nom_Fichier <> "Faux" Then
        Workbooks.Open Filename:=Nom_Fichier
    End If
    ' Transfert données
    DL = Range("A1000000").End(xlUp).Row
    Tdata = Range("A1:E" & DL)
    ' Fermeture fichier données
    If Nom_Fichier <> "Faux" Then
        T = Split(Nom_Fichier, "\"): Nom = T(UBound(T))
        Windows(T(UBound(T))).Activate
        ActiveWorkbook.Close Savechanges:=False
    End If
    ' Colle datas
    DL = Range("A1000000").End(xlUp).Row
    Range("A1:E" & DL).ClearContents
    Sheets("Données").Range("$A$1").Resize(UBound(Tdata, 1), UBound(Tdata, 2)) = Tdata
    ' Vérif validité données
    If [B1] <> "SampleCounter" Or [E1] <> "Fz" Then
        Range("A1:E" & DL).ClearContents
        MsgBox "Format de fichier érroné"
        Exit Sub
    End If
    ' Traitement
    TracerCourbe (Nom)
    Sheets("Courbe").Select
Fin:
End Sub
 

Pièces jointes

  • sujet 1 Tableau pour le Forum 6.xlsm
    353.4 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Cyril,
Je ne comprends pas :
Alors une fois n'est pas coutume je ne comprends pas ce que je pourrais faire avec le code
Quand vous appuyez sur le bouton, on demande le fichier à traiter (cette macro) puis on traite le fichier et on affiche le résultat en feuille Courbe.
Qu'entendez vous par " je ne comprends pas ce que je pourrais faire avec le code" ?
 

Cyril D

XLDnaute Nouveau
Oui oui je vois tout a fait comment fonctionne le fichier et je vous en remercie grandement !!

Ce que je voulais dire c'est juste que je ne comprends pas du tout ce qu'il est écrit dans le "code" que vous avez créé, mais ça c'est surement dû au fait que je connaisse rien en informatique ou en code en général.
 

Statistiques des forums

Discussions
312 103
Messages
2 085 325
Membres
102 862
dernier inscrit
Emma35400