Sélectionner des données associés à un intervalle de temps

11exemple-forum.zip (1.17 Mo)

Bonjour,

J'ai un fichier composé de deux colonnes : le temps en minutes, et le signal associé en V (voir photo plus bas). C'est un signal enregistré sur plusieurs heures et il y a 24 000 points environ. Comment est-ce que je peux extraire facilement les points entre deux intervalles de temps croissants svp ? Par exemple je voudrais extraire les points entre 40 et 45 minutes sur le graphique.
J'ai déjà réussi à extraire les points entre 28 et 35 minutes ici mais ma méthode est longue et fastidieuse :J'utilise cette formule pour trouver l'indice des temps 28 minutes, et 35 minutes.

=EQUIV(MIN(ABS($U$2:$U$24217-28));ABS($U$2:$U$24217-28);0)

Le données du temps se trouve dans la colonne U. Ensuite j'écris l'indice que ma renvoyé la ligne précédante précédé de U :

=U4491

Je fais pareil pour la colonne J comme c'est la colonne du signal.

Ensuite je déroule ces colonnes jusqu'à atteindre l'indice que m'a renvoyé ma ligne de code pour 35 minutes. Enfin je trace par dessus mon graphique ces points. Existe-il une méthode plus façile, plus automatique svp ?

graphique

Bonjour,

je n'ai pas tout compris mais au lieu de taper le résultat de la formule et de rajouter U devant, vous pouvez utiliser la fonction Indirect ;

=INDIRECT("U"&EQUIV(MIN(ABS($U$2:$U$24217-28));ABS($U$2:$U$24217-28);0))

EDIT : je pense avoir compris, voici une proposition (il faudra mieux régler le graphique) ;

On peut aussi rajouter un petit code VBA pour déterminer les niveaux MIN et MAX des axes du graphique en fonction des résultats renvoyés par les formules.

D'ailleurs on peut se contenter de ce code, dans ce cas on tape juste les valeurs MIN et MAX (comme j'ai fait en C1 et E1), et le code VBA règlera le graphique en fonction de ça.

3exemple.xlsx (111.30 Ko)

Je vais faire plus simple alors. Dans le document en pièce jointe j'ai un signal enregistré pendant 700 secondes. Ce que je veux c'est extraire facilement/rapidement les données qui sont comprises entre 400 et 600 secondes. Les données fournies dans l'ordre croissant du temps. Donc sur le première ligne j'ai (0s, 1V), sur la deuxième (2s, 1V), sur la troisième (3s,1V) par exemple. Comment puis-je faire ça svp ?

Bien sûr dans l'exemple je n'ai pas beaucoup de données. Alors c'est facile d'aller avec la souris sélectionner les données entre 400s et 600s. Mais dans mes fichiers classiques j'ai 24 000 données environs donc je ne peux pas aller à la souris sélectionner les données.

graph

Comme je le disais dans l'édition de mon message précédent, on peut se contenter de cibler les valeurs de l'axe en VBA.

Voir cet exemple (changez les valeurs en C1 et E1) ;

Ah oui ta solution a l'air de fonctionné, merci !
Est-ce que tu pourrais m'expliquer ton code stp ? C'est quoi VBA ? Qu'est-ce que @SI() fait ?

solution forum

Alors VBA = Visual Basic for Applications, un langage utilisable pour créer des macro-commandes.

On peut les créer et les éditer en allant dans Développeur, visualiser le code. Le mien agit sur les valeurs MIN et MAX de l'axe sans devoir le faire manuellement en cliquant sur le graphique.

Le SI est une condition pour ne rien afficher si la valeur du dessus est supérieure ou égale à la valeur MAX mise en E1, mais le code VBA fait qu'on n'a plus besoin des 2 colonnes que j'avais proposées plus haut.

J'ai fait une autre version où l'autre axe est aussi modifié en fonction des formules en H1 et H2, elles-mêmes liées à C1 et E1 ;

https://www.sendspace.com/file/05udmq

Je l'ai mis sur ce serveur parce que sa taille dépasse légèrement la taille autorisée pour les pièces jointes.

EDIT : J'ai allégé le fichier en enlevant les colonnes inutiles pour la dernière version, il rentre ici ;

Rechercher des sujets similaires à "selectionner donnees associes intervalle temps"