Tri sous excel données

Fermé
Chess33 Messages postés 2 Date d'inscription mardi 28 avril 2015 Statut Membre Dernière intervention 30 avril 2015 - Modifié par Chess33 le 28/04/2015 à 04:36
PHILOU10120 Messages postés 6388 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 13 septembre 2024 - 1 mai 2015 à 09:59
Bonjour.
Pourriez-vous m'aider svp... ?
(Sous excel 2007-2010)

J'ai un tableau de données sur trois colonnes T,X,Y où T est le temps et X,Y sont des grandeurs enregistrées à une cadence donnée. Je peux choisir la fréquence d'échantillonnage en fait (ou le pas d'incrémentation entre les valeurs Ti du tableau) de quelques millisecondes et plusieurs secondes. X variant de 0 à 7000 et croissant en général, et Y variant de -20 à 2000 est une grandeur aléatoire indépendantes de X. Mon fichier texte de sortie ou tableau Excel peut donc contenir quelques centaines de lignes à quelques dizaines de milliers suivant le pas choisi à l'enregistrement.

La grandeur X étant associée à Y (couple de points à un temps Ti donné) j'aimerais réduire le nombre de lignes de mon tableau après dépouillement en procédant par pas de N sur les données X (N=1 ; 5 ou 10 ... au choix) : c'est-à-dire ne retenir les lignes [Ti, Xi et Yi] de mon tableau que lorsque la grandeur Xi aura augmenté du pas N que je me suis fixé. Ou encore chaque fois que (Xi+k - Xi) = N ou (Xi+k - Xi) sera peu différent de N.

« N » le pas d'incrément pris entre les Xi du tableau de sortie est un entier alors que les valeurs sur les lignes Xi du tableau ne sont pas des entiers. Et donc il me faut à chaque fois retenir les lignes Xi les plus proches des valeurs entières.

En conclusion il faut à chaque fois récupérer les valeurs [Ti, Xi, Yi] d'une ligne, mais seulement et à chaque fois que la grandeur X aura augmenté de l'incrément donné (par exemple quand Xi= 0, 5, 10 ..... 7000 pour un pas N=5. En sachant que Xi est positif, croissant mais peut être parfois constant et donc redondant sur plusieurs dizaines de lignes indépendamment du temps T et de Y.

Je n'ai pas l'habitude du VBA et je n'arrive pas à voir simple : j'ai pensé partir de la première ligne, chercher à tester quand est-ce que (Xi+k - Xi)>=N et retenir les lignes vérifiant l'égalité ... Mais entre faire une opération en incrémentant à chaque fois les lignes, retenir que les parties entières des Xi : Int(Xi)+1 ou Sup(Xi), extraire les données au même format d'origine ... j'avoue que ça j'aurais besoin d'aide.

Désolé si un peu long et merci d'avance
A voir également:

2 réponses

PHILOU10120 Messages postés 6388 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 13 septembre 2024 809
Modifié par PHILOU10120 le 28/04/2015 à 11:07
Bonjour

Je ne sais pas si j'ai bien compris votre problème alors voici une idée sans macro

Dans une colonne à coté mettre cette formule (pour l'exemple je suis sur la colonne Z la cellule Z1 est vide)

En Z2 et tirer vers le bas

=SI(Z1="";1;SI(X2=$X$2+$AA$1*NB.SI($Z$1:Z1;1)-1;1;0))
La cellule AA1 correspond au pas voulu
Après vous filtrez sur les 1 ou 0 suivant votre besoin
sélectionner les zéro et vous pouvez supprimer les lignes
sélectionner les 1 et vous pouvez copier les lignes sur une autre feuille



C'est en forgeant que l'on devient forgeron. - C'est au pied du mur que l'on voit le maçon - on apprend toujours de ses erreurs
0
Chess33 Messages postés 2 Date d'inscription mardi 28 avril 2015 Statut Membre Dernière intervention 30 avril 2015
30 avril 2015 à 00:09
Bonjour PHILOU10120,
Et merci d'avoir pris le temps.
Je vais regarder de près vos indications afin d'assimiler tout ça.
Je vais regarder pourquoi j'ai "# Valeur!" qui apparait quand je colle votre formule.

Je ne sais pas si j'ai été clair dans l'énoncé de mon problème et étant nouveau ici et je ne sais si on peut fournir un exemple de fichier en PJ.
C'est le caractère aléatoire de mes données Xi qui me posent problème dans mon "tri". La plage ou le nombre de lignes entre les dites lignes qui m'intéressent est en fait aléatoire puisque seul un intervalle de 5 unités [entre le Xi, de la dernière ligne retenue et celui la prochaine ligne à retenir], conditionne la sélection et copie de la ligne en cours.
C'est donc sur la donnée de sortie (colonne des X résultante) et après tri que je souhaiterais des intervalles de 5 unités environ. C'est le fameux pas N modifiable (fixé à 5 dans l'exemple en PJ) dont je parlais.

Ha oui désolé de l'abus de langage, mais par "tri" j'entendais « une recopie telle quelle » des valeurs d'une ligne parmi "n" et non pas un tri des valeurs de la colonne

Cordialement
0
PHILOU10120 Messages postés 6388 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 13 septembre 2024 809
30 avril 2015 à 08:41
Oui vous pouvez fournir un fichier exemple
Allez sur Cjoint.com sélectionner votre fichier avec le bouton parcourir
choisir une durée et créer un lien
copier ce lien et le coller dans votre réponse sur ce site CCM
Bonne journée
0
Bonjour et merci encore pour l'info : en somme j'apprends plein de nouveaux trucs ici. Ci joint le lien vers le fichier : http://cjoint.com/?3EbbVcxH3MI

PS
j'ai bcp à apprendre et je dois voir aussi comment utiliser la fonction "RECHERCHEV" et les tableaux croisés dynamiques dans Excel.

Très cordialement.
0
PHILOU10120 Messages postés 6388 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 13 septembre 2024 809
1 mai 2015 à 09:59
Bonjour

Votre lien n'abouti pas!
0