IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Calcul de moy à partir d'un moment spécifique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut Calcul de moy à partir d'un moment spécifique
    Bonjour,
    j'aimerais résoudre le problème suivant:

    Mise en situation:
    J'ai la suite de nombre suivante (cf pièce jointe):
    Pendant 10s, la valeur mesurée est 12 -/+ 0.3, puis à un instant t (ici t=11s), la valeur mesurée augmente fortement.
    J'aimerais pouvoir détecter automatiquement le moment ou la valeur est >= a 12.5 (soit ici a t=11s), puis calculer la moyenne des 5 dernières valeurs (soit de t=6 a t=10).
    Comment puis je faire? je sens que je vais devoir apprendre à écrire des macros et des scripts VBA?non?

    1 12,1
    2 12,2
    3 12,3
    4 11,9
    5 11,8
    6 12
    7 12,1
    8 12,2
    9 12
    10 11,7
    11 12,5
    12 13
    13 13,5
    14 14
    15 14,5
    16 16
    17 18
    18 20

    Auriez vous un exemple à me donner ou une adresse ou je pourrais trouver un tutoriel sur ce genre de problème?
    Ou bien le noms des fonctions qui pourraient m'aider, car je ne sais pas par ou commencer...

    En vous remerciant

    Cyrille
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonsoir,

    Comment sont entrée les valeurs dans les cellules ? Manuellement, automatiquement et dans ce cas, par quel moyen, un logiciel ? un Timer dans Excel ?

    En attente d'en savoir plus.

    Hervé.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut
    Bonjour,
    J'ai simplifié le fichier, il s'agit d'un fichier generé par un système d'acquisition de températures:
    la 1ére colonne donne le temps en secondes (ex : 1 )
    la 2éme colonne la température en °C (ex 12.1)

    Dans l'exemple j'ai pris 12 en moyenne avant que la température s'éleve, mais ca pourrait être 20 ou 100

    Il me faut reconnaitre le moment ou l'on quitte une relative stabilité afin de mesurer la moyenne de la température sur un temps donné (ici 5s) avant cette montée.

    C'est pour faire du post-traitement de données d'un fichier d'acquisition.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Il faudrait savoir si l'évènement "Change" est généré dans la feuille où sont entrée les valeurs, si oui, il est possible d'utiliser une code du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Dim Moyenne As Double
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
        If Target.Column <> 2 Then Exit Sub
        With Target
     
            If .Value >= .Offset(-1, 0) + 0.3 Then
     
                Moyenne = Application.WorksheetFunction.Average(Range(.Offset(-1, 0), .Offset(-5, 0)))
     
            End If
     
        End With
     
    End Sub
    Sinon, il te faut utiliser un chrono (GetTickCount ou Application.OnTime) et tester toute les secondes la valeur de la dernière cellule non vide de ta colonne.

    Hervé.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Pas sur que la variation +/- 0.3 soit suffisante pour définir ton point de rupture.
    Entre le point 3 et le point 4 il y a - 0.4...

    Il vaut mieux étudier la variation de la dérivée à droite et fixer un seuil maxi de variation. Ou alors augmenter ta zone de tolérance mais ça me semble un peu arbitraire.

  6. #6
    Membre averti
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut
    @theze : Je comprends pas ce que tu veux dire par evenement "change"?

    @vcottineau : je me suis mal expliqué, dans cet exemple j'ai une valeur moyenne de 12 qui oscille de -/+ 0.3 donc potentiellement -/+0.6 crete a crete, mais bien sur suivant le choix de comparaison, on peut augmenter le seuil jusqu'à 1.0°C, l'important étant de détecter le moment ou la courbe commence a augmenter fortement pour mesurer la moyenne sur les 5 dernières valeurs précédant l'augmentation et le point d'inflexion.

    @theze : Je vais essayer et tester ce morceau de code.
    Y'a t'il un moyen pour faire un appel a cette fonction via une cellule de ma feuille exel?

    Merci en tout cas pour ces 1ers elements de reponse

    J'essaie et je vous tiens au courant

Discussions similaires

  1. Calculer un volume à partir d'un graphique
    Par jokfun dans le forum MATLAB
    Réponses: 15
    Dernier message: 31/07/2008, 19h23
  2. [CR XI] calcul de temps à partir d'un calendrier
    Par battl14 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 08/08/2007, 13h29
  3. Remplir une feuille de calcul excel distante à partir d'un userform
    Par Kikumaru dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/05/2007, 10h43
  4. Calcul du SNR à partir d'une trame 802.11
    Par Kingdomofh dans le forum Développement
    Réponses: 2
    Dernier message: 12/03/2007, 08h45
  5. calcul de date à partir du numero de semaine
    Par @rkane dans le forum Access
    Réponses: 2
    Dernier message: 03/01/2007, 17h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo