Calcul d'une durée dans des mesures d'acquisitions

chax

XLDnaute Nouveau
Bonjour à tous !

Je travaille sur un projet et j'ai actuellement une difficulté pour analyser des données issues de l'acquisition de capteurs

Je souhaiterais calculer le temps total que passe un capteur dans une position donnée


2 types de capteurs sont utilisés :

- Capteur de changement d'états (cf. Fichier "Acquisition d'états")
Pour cette acquisition, je voudrais par exemple savoir quelle est la durée, pendant toute l'acquisition, pendant laquelle la "Porte A" est restée "Ouverte" (c'est-à-dire dans des états différents de "fermé" / "non fermé" / "non ouvert")

- Capteur analogique (cf. Fichier "Acquisition analogiques")
Pour cette acquisition, je voudrais par exemple savoir quelle est la durée, pendant toute l'acquisition, pendant laquelle la "Hauteur (mm)" est restée inférieure à 80 mm


Je ne sais pas quelle est la solution la plus simple pour arriver à calculer ces durées avec conditions (avec VBA ou sans VBA)

Merci d'avance pour toutes les pistes que vous pourrez me donner
 

Pièces jointes

  • Aquisition d'états.xlsx
    16.6 KB · Affichages: 42
  • Aquisition analogiques.xlsx
    25.9 KB · Affichages: 30

CISCO

XLDnaute Barbatruc
Bonsoir

Pour le capteur de changement d'états, essayes avec
Code:
SOMMEPROD((A3:A275-A2:A274)*(C2:C274="OUVERT"))

et pour le second fichier
Code:
SOMMEPROD((A3:A1255-A2:A1254)*(B2:B1254<80)*(B2:B1254<>""))

@ plus
 

chax

XLDnaute Nouveau
Merci CISCO pour la réponse

Je vois le sens des formules que tu proposes (on fait un filtre sur les états "ouvert", puis on fait la somme des durée entre 2 ouvertures) mais cela ne correspond pas tout à fait à ce que je recherche

L'état de non ouverture est atteint dès que "non ouvert / non fermé / fermé" est atteint => par exemple, la porte est considérée comme ouverte à partir du moment où "ouvert" apparait et jusqu'à ce que "non ouvert ou non fermé ou fermé" apparaissent

Dans la formule que tu proposes, je ne vois pas apparaitre de "non ouvert / non fermé / fermé", aussi je ne suis pas sûr que cela correspondent totalement. A moins que je n'ai pas bien saisi ta formule ...

Merci d'avance si tu as des informations complémentaires
 

CISCO

XLDnaute Barbatruc
Bonjour

Tu as bien compris la méthode utilisée.

Pour vérifier la validité de la formule :
* il suffit de traiter plusieurs exemples simples, ce qui permet de mettre en évidence une ou des grosses erreurs (Cf. en pièce jointe : J'y ai changé les 3 dates en rouge en y mettant une formule du style A4= A3 +1 seconde, ce qui donne au total, avec la formule dans E3, 3 secondes, ce qui est correct) (Malheureusement, ce n'est pas une preuve parfaite. En maths, on dirait que c'est une condition nécessaire mais pas suffisante).
* Il ni a pas besoin de tester la présence des termes "non ouvert", "non fermé" et "fermé" car la formule donne (1er exemple de la pièce jointe)
(A3-A2)*(C2="OUVERT")+(A4-A3)*(C3="OUVERT")+(A5-A4)*(C4="OUVERT")+...
= (A3-A2)*FAUX+(A4-A3)*VRAI+(A5-A4)*FAUX+...
= 0+(A4-A3)*VRAI+0 +

Si plusieurs OUVERT se suivent dans la colonne C, cela ne pose pas de problème car cela donne quelque chose du genre
0 + (Ax - Ax-1) * VRAI + (Ax+1 - Ax) * VRAI + 0 + ...
(Cf. le second exemple en pièce jointe)

On ne fait pas le test Cx="OUVERT" sur la dernière cellule de la colonne C, mais dans ce cas, si la réponse est VRAI, comme on ne sait pas combien de temps dure cette ouverture, on ne peut pas en tenir compte...

@ plus
 

Pièces jointes

  • Aquisition d'états bis.xlsx
    15.2 KB · Affichages: 35

chax

XLDnaute Nouveau
Bonjour CISCO,

Merci beaucoup pour ta réponse : maintenant tout est clair grâce à ton explication et au fichier joint => c'est une méthode simple et efficace
Cela va beaucoup m'aider dans mon projet

Bonne soirée
 

Discussions similaires

Statistiques des forums

Discussions
315 096
Messages
2 116 179
Membres
112 677
dernier inscrit
Justine11