Importation de données.... problemes de conversion
3 réponses
BlackStorm
Bonjour à tous, voila mon blème :
Je veux importer depuis un fichier txt (avec balise de champ le ";") les
données sous Excel du type :
Util1;ERR540;Date;Time;Occurence
machine;server;ecran;derniere err
Il s'agit de données concernant l'utilisateur 1... Imaginez que les données
de l'utilisateur 2 tiennent sur 3 lignes, puis le 3eme sur 4 ligne, le 4éme
sur 2 lignes....
Or chaque groue de données utilisateur est séparé par une ligne vide...
Je veux importer ces données sous excel mais je veux que les données prennet
la forment suivante :
Util1;ERR540;Date;Time;Occurence;machine;server;ecran;derniere err
Util2;ERR20;Date;Time;Occurence;machine;server;ecran;derniere err:OS1;admin
Util3;... etc etc
Je sais pas si je suis clair mais je veux que toutes les données d'un
utilisateur apparaissent sur une seule ligne sous excel... existe-t-il uine
fonction sous Excel pour automatiser cela ou une macro, et comme la mettre
en oeuvre
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christophe Joly
Bonsoir:
Il y a vraissemblablement une solution plus élégante mais en ouvrant ton fichier texte dans word par exemple et en affichant les symboles de mise en forme tu peux remplacer (Edition/Remplacer) tes symboles de fin de ligne par un point-virgule et la ligne vide entre deux enregistrements par une marque de paragraphe. L'importation dans excel devrait alors s'opéerer sans trop de problèmes.
Si tu n'y arrives pas, envoie moi ton fichier texte par e-mail afin que j'y jette un coup d'oeil.
Christophe "BlackStorm" a écrit dans le message de news:bqqhqa$q0m$
Bonjour à tous, voila mon blème : Je veux importer depuis un fichier txt (avec balise de champ le ";") les données sous Excel du type :
Util1;ERR540;Date;Time;Occurence machine;server;ecran;derniere err Il s'agit de données concernant l'utilisateur 1... Imaginez que les données
de l'utilisateur 2 tiennent sur 3 lignes, puis le 3eme sur 4 ligne, le 4éme
sur 2 lignes.... Or chaque groue de données utilisateur est séparé par une ligne vide... Je veux importer ces données sous excel mais je veux que les données prennet
la forment suivante : Util1;ERR540;Date;Time;Occurence;machine;server;ecran;derniere err Util2;ERR20;Date;Time;Occurence;machine;server;ecran;derniere err:OS1;admin
Util3;... etc etc Je sais pas si je suis clair mais je veux que toutes les données d'un utilisateur apparaissent sur une seule ligne sous excel... existe-t-il uine
fonction sous Excel pour automatiser cela ou une macro, et comme la mettre en oeuvre
Bonsoir:
Il y a vraissemblablement une solution plus élégante mais en ouvrant ton
fichier texte dans word par exemple et en affichant les symboles de mise en
forme tu peux remplacer (Edition/Remplacer) tes symboles de fin de ligne par
un point-virgule et la ligne vide entre deux enregistrements par une marque
de paragraphe. L'importation dans excel devrait alors s'opéerer sans trop de
problèmes.
Si tu n'y arrives pas, envoie moi ton fichier texte par e-mail afin que j'y
jette un coup d'oeil.
Christophe
"BlackStorm" <BlackStorm@Hotmail.com> a écrit dans le message de
news:bqqhqa$q0m$1@news-reader2.wanadoo.fr...
Bonjour à tous, voila mon blème :
Je veux importer depuis un fichier txt (avec balise de champ le ";") les
données sous Excel du type :
Util1;ERR540;Date;Time;Occurence
machine;server;ecran;derniere err
Il s'agit de données concernant l'utilisateur 1... Imaginez que les
données
de l'utilisateur 2 tiennent sur 3 lignes, puis le 3eme sur 4 ligne, le
4éme
sur 2 lignes....
Or chaque groue de données utilisateur est séparé par une ligne vide...
Je veux importer ces données sous excel mais je veux que les données
prennet
la forment suivante :
Util1;ERR540;Date;Time;Occurence;machine;server;ecran;derniere err
Util2;ERR20;Date;Time;Occurence;machine;server;ecran;derniere
err:OS1;admin
Util3;... etc etc
Je sais pas si je suis clair mais je veux que toutes les données d'un
utilisateur apparaissent sur une seule ligne sous excel... existe-t-il
uine
fonction sous Excel pour automatiser cela ou une macro, et comme la mettre
en oeuvre
Il y a vraissemblablement une solution plus élégante mais en ouvrant ton fichier texte dans word par exemple et en affichant les symboles de mise en forme tu peux remplacer (Edition/Remplacer) tes symboles de fin de ligne par un point-virgule et la ligne vide entre deux enregistrements par une marque de paragraphe. L'importation dans excel devrait alors s'opéerer sans trop de problèmes.
Si tu n'y arrives pas, envoie moi ton fichier texte par e-mail afin que j'y jette un coup d'oeil.
Christophe "BlackStorm" a écrit dans le message de news:bqqhqa$q0m$
Bonjour à tous, voila mon blème : Je veux importer depuis un fichier txt (avec balise de champ le ";") les données sous Excel du type :
Util1;ERR540;Date;Time;Occurence machine;server;ecran;derniere err Il s'agit de données concernant l'utilisateur 1... Imaginez que les données
de l'utilisateur 2 tiennent sur 3 lignes, puis le 3eme sur 4 ligne, le 4éme
sur 2 lignes.... Or chaque groue de données utilisateur est séparé par une ligne vide... Je veux importer ces données sous excel mais je veux que les données prennet
la forment suivante : Util1;ERR540;Date;Time;Occurence;machine;server;ecran;derniere err Util2;ERR20;Date;Time;Occurence;machine;server;ecran;derniere err:OS1;admin
Util3;... etc etc Je sais pas si je suis clair mais je veux que toutes les données d'un utilisateur apparaissent sur une seule ligne sous excel... existe-t-il uine
fonction sous Excel pour automatiser cela ou une macro, et comme la mettre en oeuvre
Hervé
Salut BlackStorm, Par macro : Je ne suis pas sûr d'avoir compris alors j'ai fais 2 procs. A toi de voir si l'une des 2 te convient :
Sub Lire1() 'Les enregistrements sont sur une seule ligne dans 'le fichier et séparés par une ligne vide. Dim Tbl Dim Ligne As String Dim I As Integer, J As Integer Dim NF As Integer
NF = FreeFile 'adapter le chemin et nom du fichier Open "D:Texte.txt" For Input As #NF
Do While Not EOF(NF) Line Input #NF, Ligne If Ligne <> "" Then J = J + 1 Tbl = Split(Ligne, ";") 'inscrit les valeurs dans les cellules For I = 0 To UBound(Tbl) Cells(J, I + 1) = Tbl(I) Next I End If Loop Close #NF
Erase Tbl
End Sub
Sub Lire2() 'Les enregistrements sont sur plusieurs lignes dans le fichier 'et sont séparés par une ligne vide Dim Tbl1() As String Dim Tbl2 Dim Ligne As String Dim I As Integer, J As Integer Dim NF As Integer
NF = FreeFile Open "D:Texte.txt" For Input As #NF
ReDim Tbl1(1 To 1) I = 1
Do While Not EOF(NF) Line Input #NF, Ligne 'concatenne tant qu'une ligne vide n'est pas rencontrée If Ligne <> "" Then If Tbl1(I) <> "" Then Tbl1(I) = Tbl1(I) & ";" & Ligne Else Tbl1(I) = Tbl1(I) & Ligne End If 'sitôt qu'une ligne vide est rencontrée, redimensionne 'pour le prochain enregistrement Else I = I + 1 ReDim Preserve Tbl1(1 To I) End If Loop
Close #NF 'inscrit dans les cellules For I = 1 To UBound(Tbl1) Tbl2 = Split(Tbl1(I), ";") For J = 0 To UBound(Tbl2) Cells(I, J + 1) = Tbl2(J) Next J Next I
Erase Tbl1 Erase Tbl2
End Sub
Hervé.
"BlackStorm" a écrit dans le message news: bqqhqa$q0m$
Bonjour à tous, voila mon blème : Je veux importer depuis un fichier txt (avec balise de champ le ";") les données sous Excel du type :
Util1;ERR540;Date;Time;Occurence machine;server;ecran;derniere err Il s'agit de données concernant l'utilisateur 1... Imaginez que les données
de l'utilisateur 2 tiennent sur 3 lignes, puis le 3eme sur 4 ligne, le 4éme
sur 2 lignes.... Or chaque groue de données utilisateur est séparé par une ligne vide... Je veux importer ces données sous excel mais je veux que les données prennet
la forment suivante : Util1;ERR540;Date;Time;Occurence;machine;server;ecran;derniere err Util2;ERR20;Date;Time;Occurence;machine;server;ecran;derniere err:OS1;admin
Util3;... etc etc Je sais pas si je suis clair mais je veux que toutes les données d'un utilisateur apparaissent sur une seule ligne sous excel... existe-t-il uine
fonction sous Excel pour automatiser cela ou une macro, et comme la mettre en oeuvre
Salut BlackStorm,
Par macro :
Je ne suis pas sûr d'avoir compris alors j'ai fais 2 procs. A toi de voir si
l'une des 2 te convient :
Sub Lire1()
'Les enregistrements sont sur une seule ligne dans
'le fichier et séparés par une ligne vide.
Dim Tbl
Dim Ligne As String
Dim I As Integer, J As Integer
Dim NF As Integer
NF = FreeFile
'adapter le chemin et nom du fichier
Open "D:Texte.txt" For Input As #NF
Do While Not EOF(NF)
Line Input #NF, Ligne
If Ligne <> "" Then
J = J + 1
Tbl = Split(Ligne, ";")
'inscrit les valeurs dans les cellules
For I = 0 To UBound(Tbl)
Cells(J, I + 1) = Tbl(I)
Next I
End If
Loop
Close #NF
Erase Tbl
End Sub
Sub Lire2()
'Les enregistrements sont sur plusieurs lignes dans le fichier
'et sont séparés par une ligne vide
Dim Tbl1() As String
Dim Tbl2
Dim Ligne As String
Dim I As Integer, J As Integer
Dim NF As Integer
NF = FreeFile
Open "D:Texte.txt" For Input As #NF
ReDim Tbl1(1 To 1)
I = 1
Do While Not EOF(NF)
Line Input #NF, Ligne
'concatenne tant qu'une ligne vide n'est pas rencontrée
If Ligne <> "" Then
If Tbl1(I) <> "" Then
Tbl1(I) = Tbl1(I) & ";" & Ligne
Else
Tbl1(I) = Tbl1(I) & Ligne
End If
'sitôt qu'une ligne vide est rencontrée, redimensionne
'pour le prochain enregistrement
Else
I = I + 1
ReDim Preserve Tbl1(1 To I)
End If
Loop
Close #NF
'inscrit dans les cellules
For I = 1 To UBound(Tbl1)
Tbl2 = Split(Tbl1(I), ";")
For J = 0 To UBound(Tbl2)
Cells(I, J + 1) = Tbl2(J)
Next J
Next I
Erase Tbl1
Erase Tbl2
End Sub
Hervé.
"BlackStorm" <BlackStorm@Hotmail.com> a écrit dans le message news:
bqqhqa$q0m$1@news-reader2.wanadoo.fr...
Bonjour à tous, voila mon blème :
Je veux importer depuis un fichier txt (avec balise de champ le ";") les
données sous Excel du type :
Util1;ERR540;Date;Time;Occurence
machine;server;ecran;derniere err
Il s'agit de données concernant l'utilisateur 1... Imaginez que les
données
de l'utilisateur 2 tiennent sur 3 lignes, puis le 3eme sur 4 ligne, le
4éme
sur 2 lignes....
Or chaque groue de données utilisateur est séparé par une ligne vide...
Je veux importer ces données sous excel mais je veux que les données
prennet
la forment suivante :
Util1;ERR540;Date;Time;Occurence;machine;server;ecran;derniere err
Util2;ERR20;Date;Time;Occurence;machine;server;ecran;derniere
err:OS1;admin
Util3;... etc etc
Je sais pas si je suis clair mais je veux que toutes les données d'un
utilisateur apparaissent sur une seule ligne sous excel... existe-t-il
uine
fonction sous Excel pour automatiser cela ou une macro, et comme la mettre
en oeuvre
Salut BlackStorm, Par macro : Je ne suis pas sûr d'avoir compris alors j'ai fais 2 procs. A toi de voir si l'une des 2 te convient :
Sub Lire1() 'Les enregistrements sont sur une seule ligne dans 'le fichier et séparés par une ligne vide. Dim Tbl Dim Ligne As String Dim I As Integer, J As Integer Dim NF As Integer
NF = FreeFile 'adapter le chemin et nom du fichier Open "D:Texte.txt" For Input As #NF
Do While Not EOF(NF) Line Input #NF, Ligne If Ligne <> "" Then J = J + 1 Tbl = Split(Ligne, ";") 'inscrit les valeurs dans les cellules For I = 0 To UBound(Tbl) Cells(J, I + 1) = Tbl(I) Next I End If Loop Close #NF
Erase Tbl
End Sub
Sub Lire2() 'Les enregistrements sont sur plusieurs lignes dans le fichier 'et sont séparés par une ligne vide Dim Tbl1() As String Dim Tbl2 Dim Ligne As String Dim I As Integer, J As Integer Dim NF As Integer
NF = FreeFile Open "D:Texte.txt" For Input As #NF
ReDim Tbl1(1 To 1) I = 1
Do While Not EOF(NF) Line Input #NF, Ligne 'concatenne tant qu'une ligne vide n'est pas rencontrée If Ligne <> "" Then If Tbl1(I) <> "" Then Tbl1(I) = Tbl1(I) & ";" & Ligne Else Tbl1(I) = Tbl1(I) & Ligne End If 'sitôt qu'une ligne vide est rencontrée, redimensionne 'pour le prochain enregistrement Else I = I + 1 ReDim Preserve Tbl1(1 To I) End If Loop
Close #NF 'inscrit dans les cellules For I = 1 To UBound(Tbl1) Tbl2 = Split(Tbl1(I), ";") For J = 0 To UBound(Tbl2) Cells(I, J + 1) = Tbl2(J) Next J Next I
Erase Tbl1 Erase Tbl2
End Sub
Hervé.
"BlackStorm" a écrit dans le message news: bqqhqa$q0m$
Bonjour à tous, voila mon blème : Je veux importer depuis un fichier txt (avec balise de champ le ";") les données sous Excel du type :
Util1;ERR540;Date;Time;Occurence machine;server;ecran;derniere err Il s'agit de données concernant l'utilisateur 1... Imaginez que les données
de l'utilisateur 2 tiennent sur 3 lignes, puis le 3eme sur 4 ligne, le 4éme
sur 2 lignes.... Or chaque groue de données utilisateur est séparé par une ligne vide... Je veux importer ces données sous excel mais je veux que les données prennet
la forment suivante : Util1;ERR540;Date;Time;Occurence;machine;server;ecran;derniere err Util2;ERR20;Date;Time;Occurence;machine;server;ecran;derniere err:OS1;admin
Util3;... etc etc Je sais pas si je suis clair mais je veux que toutes les données d'un utilisateur apparaissent sur une seule ligne sous excel... existe-t-il uine
fonction sous Excel pour automatiser cela ou une macro, et comme la mettre en oeuvre
BlackStorm
Merci a vous les gars, je vais tester immediatement et je vous tiens au courant ! "BlackStorm" a écrit dans le message de news: bqqhqa$q0m$
Bonjour à tous, voila mon blème : Je veux importer depuis un fichier txt (avec balise de champ le ";") les données sous Excel du type :
Util1;ERR540;Date;Time;Occurence machine;server;ecran;derniere err Il s'agit de données concernant l'utilisateur 1... Imaginez que les données
de l'utilisateur 2 tiennent sur 3 lignes, puis le 3eme sur 4 ligne, le 4éme
sur 2 lignes.... Or chaque groue de données utilisateur est séparé par une ligne vide... Je veux importer ces données sous excel mais je veux que les données prennet
la forment suivante : Util1;ERR540;Date;Time;Occurence;machine;server;ecran;derniere err Util2;ERR20;Date;Time;Occurence;machine;server;ecran;derniere err:OS1;admin
Util3;... etc etc Je sais pas si je suis clair mais je veux que toutes les données d'un utilisateur apparaissent sur une seule ligne sous excel... existe-t-il uine
fonction sous Excel pour automatiser cela ou une macro, et comme la mettre en oeuvre
Merci a vous les gars, je vais tester immediatement et je vous tiens au
courant !
"BlackStorm" <BlackStorm@Hotmail.com> a écrit dans le message de news:
bqqhqa$q0m$1@news-reader2.wanadoo.fr...
Bonjour à tous, voila mon blème :
Je veux importer depuis un fichier txt (avec balise de champ le ";") les
données sous Excel du type :
Util1;ERR540;Date;Time;Occurence
machine;server;ecran;derniere err
Il s'agit de données concernant l'utilisateur 1... Imaginez que les
données
de l'utilisateur 2 tiennent sur 3 lignes, puis le 3eme sur 4 ligne, le
4éme
sur 2 lignes....
Or chaque groue de données utilisateur est séparé par une ligne vide...
Je veux importer ces données sous excel mais je veux que les données
prennet
la forment suivante :
Util1;ERR540;Date;Time;Occurence;machine;server;ecran;derniere err
Util2;ERR20;Date;Time;Occurence;machine;server;ecran;derniere
err:OS1;admin
Util3;... etc etc
Je sais pas si je suis clair mais je veux que toutes les données d'un
utilisateur apparaissent sur une seule ligne sous excel... existe-t-il
uine
fonction sous Excel pour automatiser cela ou une macro, et comme la mettre
en oeuvre
Merci a vous les gars, je vais tester immediatement et je vous tiens au courant ! "BlackStorm" a écrit dans le message de news: bqqhqa$q0m$
Bonjour à tous, voila mon blème : Je veux importer depuis un fichier txt (avec balise de champ le ";") les données sous Excel du type :
Util1;ERR540;Date;Time;Occurence machine;server;ecran;derniere err Il s'agit de données concernant l'utilisateur 1... Imaginez que les données
de l'utilisateur 2 tiennent sur 3 lignes, puis le 3eme sur 4 ligne, le 4éme
sur 2 lignes.... Or chaque groue de données utilisateur est séparé par une ligne vide... Je veux importer ces données sous excel mais je veux que les données prennet
la forment suivante : Util1;ERR540;Date;Time;Occurence;machine;server;ecran;derniere err Util2;ERR20;Date;Time;Occurence;machine;server;ecran;derniere err:OS1;admin
Util3;... etc etc Je sais pas si je suis clair mais je veux que toutes les données d'un utilisateur apparaissent sur une seule ligne sous excel... existe-t-il uine
fonction sous Excel pour automatiser cela ou une macro, et comme la mettre en oeuvre