XL 2013 Tri de données depuis un CSV

jimip

XLDnaute Nouveau
Bonjour,

Aujourd'hui j'ai téléchargé un CSV qui contient dans une même cellule des données que je souhaite et d'autres que je ne souhaite pas. Les données sont séparées par des virgules.
Voici la structure CSV :

Numéro de résultat, Date, Nombre 1, Nombre 2, Nombre 3, Nombre 4, Nombre 5, Nombre 6

Concrétement cela donne : (cf piece jointe)

4131,11/11/2024,18,27,28,32,40,42


Je cherche à isoler les 6 numéros, dans une cellule pour chaque numéro. (cellule B : nombre 1 / cellule C : nombre 2 ...)


Comment faire ?


Merci
 

Pièces jointes

  • The_Pick_Saturday__October_13__1984_to_Monday__November_11__2024.xlsx
    95.8 KB · Affichages: 8
Solution
Bonjour Jimip

J'ai enregistré votre fichier en CSV UTF8 ,
puis dans Excel, je l'ai chargé à partir du menu Données/ A partir de CSV, et j'obtiens :
1731500155498.png

Une fois le CSV chargé il est plus simple de le trier

scraper

XLDnaute Nouveau
Bonjour Jimip

J'ai enregistré votre fichier en CSV UTF8 ,
puis dans Excel, je l'ai chargé à partir du menu Données/ A partir de CSV, et j'obtiens :
1731500155498.png

Une fois le CSV chargé il est plus simple de le trier
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Jimip, Scraper,
On peut le réaliser sans enregistrer un csv, mais en utilisant directement Convertir.
1- Sélectionner colonne A
2- Faire dans menu Données, Convertit
3- Sélectionner Délimité et Suivant
4- Sélectionner Virgule et Suivant
5- Sélectionner Colonne dates et sélectionner Date en format MJA
6- Faire Terminer

Test4.gif
 

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
en partant du Fichier joint
une macro
VB:
Sub TestRecup()
With Worksheets("The_Pick_Saturday__October_13__")
      DerLgn = .Cells(.Rows.Count, 1).End(xlUp).Row
       Tablo = .Range(.Cells(2, 1), .Cells(DerLgn, 1)).Value
    
    For Lgn = 1 To UBound(Tablo, 1)
        Tbl = VBA.Split(Tablo(Lgn, 1), ",")
        DerLgn = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
        
        ' On récupére les 6 dernières valeurs de Tbl
        Dim Tbl_Recup() As Variant 
        If UBound(Tbl) >= 5 Then
            Tbl_Recup = VBA.Array(Tbl(UBound(Tbl) - 5), Tbl(UBound(Tbl) - 4), Tbl(UBound(Tbl) - 3), Tbl(UBound(Tbl) - 2), Tbl(UBound(Tbl) - 1), Tbl(UBound(Tbl)))
        Else
            Tbl_Recup = Tbl ' Si moins de 6 valeurs, on prend tout
        End If       
        ' On Colle des valeurs dans la feuille
               .Cells(DerLgn, 2).Resize(1, UBound(Tbl_Recup) + 1).Value = Tbl_Recup
    Next Lgn
End With
End Sub
Jean marie
 

Discussions similaires

Réponses
7
Affichages
639

Statistiques des forums

Discussions
314 705
Messages
2 112 083
Membres
111 411
dernier inscrit
NIMY