Retraitement de données brutes

  • Initiateur de la discussion Initiateur de la discussion didcac
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

didcac

XLDnaute Occasionnel
Bonjour,
Je joins un fichier où se trouvent des données de Bourse "brutes" et que je souhaite retraiter dans une forme déterminée. C'est sans doute hyper simple pour quelqu'un d'aguerri, mais pas pour moi...
Les données à utilisées sont à gauche de la colonne rouge, et c'est sur la droite qu'il faut les retraiter.
Pour faciliter votre compréhension, j'ai commencé à recopier les 10 premières lignes telles que je les souhaite, mais comme il y en a un millier... Ainsi, vous aurez la trame à reproduire.
En gros, c'est toujours la même structure, et il faut remplir les colonnes de J à P.
Merci.
 

Pièces jointes

Re : Retraitement de données brutes

Bonjour,
une macro à tester (pour la colonne date, je ne vois pas d'où tu tires tes données) :
Code:
Sub Extraction()
Dim DerLig&, tablo(), tablo2(), i&, j&, k As Byte
DerLig = Range("A" & Rows.Count).End(xlUp).Row
Range("I2:P" & DerLig).ClearContents
j = 1
For i = 1 To DerLig Step 6
    ReDim Preserve tablo(1 To j)
    tablo(j) = Format(Cells(i, 3), "hh:mm:ss")
    j = j + 1
Next i

Cells(2, 9).Resize(UBound(tablo)) = Application.Transpose(tablo)

For k = 1 To 6
    j = 1
    For i = 2 To DerLig Step 6
        ReDim Preserve tablo2(1 To j)
        tablo2(j) = Cells(i, k)
        j = j + 1
    Next i
    Cells(2, k + 9).Resize(UBound(tablo2)) = Application.Transpose(tablo2)
Next k
DerLig = Cells(2, k + 8).End(xlDown).Row
Range(Cells(2, 12), Cells(DerLig, 12)).NumberFormat = "000000.00"
Range(Cells(2, 14), Cells(DerLig, 14)).NumberFormat = "000000.00"

End Sub
A+
 
Dernière édition:
Re : Retraitement de données brutes

Bonjour
Au vu des données tu as un pas de 6 entre les données
voici donc la macro qui devrait résoudre ton problème
Y a que la date????


Sub recopie()
lig = 1
derlig = Range("a65536").End(xlUp).Row
For i = 1 To derlig Step 6
Cells(lig, 10).Value = Format(Cells(i, 3).Value, "###00.0000")
Cells(lig, 11).Value = Format(Cells(i + 1, 1).Value, "###00.000")
Cells(lig, 12).Value = Format(Cells(i + 1, 2).Value, "###00.0000")
Cells(lig, 13).Value = Format(Cells(i + 1, 3).Value, "###00.0000")
Cells(lig, 14).Value = Format(Cells(i + 1, 5).Value, "###00.0000")
Cells(lig, 15).Value = Format(Cells(i + 1, 4).Value, "###00.0000")
Cells(lig, 16).Value = Format(Cells(i + 1, 6).Value, "###00.0000")
lig = lig + 1
Next
End Sub

Le format numérique peut être changé si nécessaire...
A+ François

Pardon: bonjour David84
 
Dernière édition:
Re : Retraitement de données brutes

Bonjour à tous les deux,
Et merci pour votre réponse. Je ne m'attendais vraiment pas à une telle complexité dans la macro. Je ne risquais pas de deviner tout seul...
Information commune : pour la date, c'est normal car elle n'apparaît nulle part. C'est moi qui la mets manuellement.

1) Pour david84 : C'est bon à 95%... super. Voici les petits soucis : la colonne J renvoie un horaire au lieu de (essentiellement) le chiffre 1 (car ça correspond à A2, A8, A14, etc etc). Et, accessoirement (absolument sans importance), ça m'écrase la colonne I avec les Dates que j'ai remplie. Une idée pour corriger ça ?

2) Pour fanfan38 : Là, il y a pas mal de problèmes liés déjà à la précision des valeurs recopiées : exemple un horaire de 09:23:02 se transforme (bizarrement) en 09:23:03 !! D'autres fois, y'a 1 seconde de moins... Même souci pour les valeur 0.64 qui parfois ressortent en 0.00334. Etrange...
Quoiqu'il en soit, merci pour ton aide.

Le plus simple est peut-être de rester sur la Formule de david84 où l'on est très proche de la solution totale ?
Merci.
 
Re : Retraitement de données brutes

Oui, c'est exact. C'est le format qui n'était pas le même partout. Et cela résout également le "problème" que j'ai évoqué pour la formule de david84. Mille excuses. Tout fonctionne.
Un grand merci à vous deux, c'est parfait maintenant.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

A
Réponses
11
Affichages
2 K
A
Retour