Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Importation de données.... problemes de conversion

3 réponses
Avatar
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

3 réponses

Avatar
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




Avatar
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




Avatar
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