Bonjours à toutes et tous
Je ne demande rien, mais si ça peut rendre service, j'ai créé un petit programme pour déconcaténer un fichier CSV de plus de 5000 lignes.
répartie sur près de 40 colonnes après déconcaténation
Bon voilà il y a quelques jours j'ai importé un fichier au format CSV
toutes les données sont dans la colonne "A".
Dans chaque cellule de la colonne "A" toutes ces données sont concaténées
avec le point virgule (😉 comme séparateur.
voici le programme:
=====================================================
Sub Ranger_Colonne() 'Traitement fichier au format CSV (point virgule)
Dim Text As String, X As String, ADéconcaténer As String, Caractere As String
Dim M As Integer, Y As Integer, J As Integer, Nb As Integer
M = Sheets("Feuil1").Range("A65536").End(xlUp).Row
Sheets("Feuil1").Activate
Caractere = ";" 'caractère de séparation
'----------- Compteur point virgule ---------------
For Y = 1 To M
ADéconcaténer = Sheets("Feuil1").Range("A" & Y).Value
Nb = Len(ADéconcaténer)
J = 0
Text = ""
For i = 1 To Nb 'traitement caractère par caractère
X = Mid(ADéconcaténer, i, 1)
Text = Text & X
If X = Caractere Then
J = J + 1
Text = Left(Text, Len(Text) - 1)
Sheets("Feuil1").Range("A" & Y).Select
Sheets("Feuil1").Range("A" & Y).Offset(0, J).Value = Text 'si j-1 colonne A départ et les données de base sont effacer
Text = ""
End If
Next
Next
End Sub
====================================================
Il y a peut-être une autre façon de si prendre et plus courte mais ça marche
Cordialement à tous
Jean-Paul
Je ne demande rien, mais si ça peut rendre service, j'ai créé un petit programme pour déconcaténer un fichier CSV de plus de 5000 lignes.
répartie sur près de 40 colonnes après déconcaténation
Bon voilà il y a quelques jours j'ai importé un fichier au format CSV
toutes les données sont dans la colonne "A".
Dans chaque cellule de la colonne "A" toutes ces données sont concaténées
avec le point virgule (😉 comme séparateur.
voici le programme:
=====================================================
Sub Ranger_Colonne() 'Traitement fichier au format CSV (point virgule)
Dim Text As String, X As String, ADéconcaténer As String, Caractere As String
Dim M As Integer, Y As Integer, J As Integer, Nb As Integer
M = Sheets("Feuil1").Range("A65536").End(xlUp).Row
Sheets("Feuil1").Activate
Caractere = ";" 'caractère de séparation
'----------- Compteur point virgule ---------------
For Y = 1 To M
ADéconcaténer = Sheets("Feuil1").Range("A" & Y).Value
Nb = Len(ADéconcaténer)
J = 0
Text = ""
For i = 1 To Nb 'traitement caractère par caractère
X = Mid(ADéconcaténer, i, 1)
Text = Text & X
If X = Caractere Then
J = J + 1
Text = Left(Text, Len(Text) - 1)
Sheets("Feuil1").Range("A" & Y).Select
Sheets("Feuil1").Range("A" & Y).Offset(0, J).Value = Text 'si j-1 colonne A départ et les données de base sont effacer
Text = ""
End If
Next
Next
End Sub
====================================================
Il y a peut-être une autre façon de si prendre et plus courte mais ça marche
Cordialement à tous
Jean-Paul