Effacer les lignes de la même minute

Bonjour,

J'ai téléchargé de grandes quantités de données supposées contenir les valeurs minute par minute de l'indice SP 500. Le problème est que certaines minutes sont représentées deux fois (à quelques secondes de distance), par exemple ici la minute 13:47 et 13:49

2013-10-11 13:47:51;1701.0601;1701.21;1701;1701;696500

2013-10-11 13:47:57;1701.02;1701.21;1700.99;1700.99;644100

2013-10-11 13:48:51;1700.97;1700.97;1700.7;1700.7;496500

2013-10-11 13:49:51;1700.67;1700.67;1700.53;1700.53;369700

2013-10-11 13:49:57;1700.6801;1700.6801;1700.52;1700.52;374800

2013-10-11 13:50:57;1700.51;1700.51;1700.35;1700.37;441100

J'ai commencé par nettoyer à la main avant de réaliser que cela serait le travail d'une vie (9 Mo de données). Comment faire pour supprimer les lignes en trop pour arriver à un résultat qui soit vraiment minute par minute, comme ici :

2013-10-11 13:47:51;1701.0601;1701.21;1701;1701;696500

2013-10-11 13:48:51;1700.97;1700.97;1700.7;1700.7;496500

2013-10-11 13:49:51;1700.67;1700.67;1700.53;1700.53;369700

2013-10-11 13:50:51;1700.47;1700.47;1700.35;1700.35;444900

Notez que toutes les minutes n'ont pas de petites soeurs, empêchant de fait de supprimer une ligne sur deux.

Une idée de solution ?

Merci

Bonjour

Avant d'adapter le code, dans quelle colonne sont tes données et dans quelle plage ??

A te relire

Le format est sous la forme:

yyyyMMdd HHmmss; open price; high price; low price; close price; volume

Ce sont les seules données donc dans les colonnes A (pour le timestamp) à F (volume)

De la ligne 1 à la ligne... 161677 !

Pour être un peu plus clair :

A Timestamp / B open price / C high price / D low price / E close price / F volume

Bonsoir

Une méthode manuelle si cella peut t'aider

Excellent Banzaï64 ! Super idée, explication et fichier attaché !

J'ai supprimé pas moins de 14610 lignes : une à une j'étais pas rendu !

Je vais pouvoir enfin travailler sur les 147347 valeurs restantes !

Re,

Déso je suis arrivé trop tard mais bon le code VBA était prêt lors de ma question. En cas de besoin dis moi.

Bonne journée

Merci de ton intérêt Dan . Si tu as une solution plus rapide pour mettre en forme les données je suis partant : je risque d'avoir à le refaire plusieurs fois !

En guise d'exemple, un (petit) fichier attaché de données tel que je le télécharge sur

(compte gratuit nécessaire).

9gspc-1m-3.zip (16.39 Ko)

Le but est de le transformer dans le format

yyyyMMdd HHmmss;open price;high price;low price;close price;volume

L'idéal serait donc un code automatisant tout ce que je fais manuellement :

1) supprimer la ligne 1

symbol nr timestamp open high low close volume

2) supprimer les 2 premières colonnes A et B

symbol nr

GSPC 1

GSPC 2

3) supprimer toutes les lignes où yyyyMMdd HHmm (1) = yyyyMMdd HHmm (2)

note: en français :

aaaammjj hhmm (1) = aaaammjj hhmm (2)

note 2 : l'idéal serait de supprimer la première valeur rencontrée pour ne garder que la seconde ligne qui montre la même minute (plus proche de la fin de la minute, donc).

4) supprimer les lignes présentant des valeurs à 0 : ces lignes sont peu dignes de confiance ou sans intérêt car les prix et volumes ne peuvent pas être à 0 durant une séance de quotation.

5) enregistrer le tout au format texte avec la date à la forme aaaammjj hhmmss, les champs séparés par des points virgules (;) et un séparateur décimal avec un "point" (3.14) plutôt qu'une virgule (3,14) (actuellement je fais ça avec les paramètres avancés d'excel. Impossible d'obtenir le format texte ET le séparateur de champs ; depuis excel qui impose le format .csv).

Si tout ça peut être fait en quelques clics, c'est magique !

Dan a écrit :

Re,

Déso je suis arrivé trop tard mais bon le code VBA était prêt lors de ma question. En cas de besoin dis moi.

Bonne journée

Bonjour Dan,

Peux-tu me transmettre le code VBA que tu as préparé ?

Merci

Rechercher des sujets similaires à "effacer lignes meme minute"