6xavier6
Messages postés51Date d'inscriptionjeudi 29 mars 2007StatutMembreDernière intervention 7 février 2020
-
24 janv. 2008 à 11:09
6xavier6
Messages postés51Date d'inscriptionjeudi 29 mars 2007StatutMembreDernière intervention 7 février 2020
-
6 févr. 2008 à 14:13
Bonjour a tous
Jai un peu farfouiller le site a la recherche d'une reponse a ma question j'ai trouver une ki repond partiellement a ma demande
J'ai un fichier .txt de cette forme la :
CPU MEM TIME
0:00:00.062 3624 17:04:50.71
0:00:00.062 3624 17:04:52.14
0:00:00.062 3624 17:06:50.96
Je cherche a le mettre dans un fichier exel en concervant les colonnes.
Jai trouver ce code dans le forum le probleme cest kil me met toute les lignes dans une seule cellule donc comment le faire evoluer pour respecter mes trois colonnes :
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim waExcel: Set waExcel = CreateObject("Excel.Application") 'Ouverture d'Excel
Dim StrPath As String, StrFich As String
StrPath = "C:" 'Chemin d'accès du fichier
If Right(StrPath, 1) <> "" Then StrPath = StrPath & "" 'Ajoute \ à la fin s'il y en a pas
StrFich = "Test_Performance_Result_Xavier.txt" 'Nom du fichier
If FSO.FileExists(StrPath & StrFich) Then 'Existance du fichier
waExcel.Visible = False 'Rendre invisible Excel
'Importe le fichier texte vers une feuille Excel de façon Largeur fixe avec délimiteur : Tabulation et Space
waExcel.Workbooks.OpenText StrPath & StrFich, , , 2, , , True, , , True
'Sauvegarde la feuiller importer vers le chemin d'accès de départ en motifiant l'extension et en mode partagé pour éviter des erreurs
waExcel.Workbooks(StrFich).SaveAs StrPath & Left(StrFich, Len(StrFich) - 4) & ".xls", , , , , , 2
End If
'Fermeture d'Excel
waExcel.Application.Quit
Si cest plus facile, jai aussi le contenu du fichier .txt dans un tableau dans mon programme
6xavier6
Messages postés51Date d'inscriptionjeudi 29 mars 2007StatutMembreDernière intervention 7 février 2020 25 janv. 2008 à 11:16
Finalement je suis passer par une maccro, cette version marche
Merci de ton aide bigfish_le_vrai[auteur/BIGFISHLEVRAI/510670.aspx ]
Dim LFile As Long
Dim OFile As String, Line As String, tableau() As String
Dim i As Integer
OFile = "C:\Test_Performance_Result_Xavier.txt"
LFile = FreeFile
i = 1
Open OFile For Input As #LFile
Do
Input #LFile, Line
tableau() = Split(Line, vbTab & vbTab, , vbBinaryCompare)
Sheets("Sheet1").Select
Range("A" & i & "").Value = tableau(0)
Range("B" & i & "").Value = tableau(1)
Range("C" & i & "").Value = tableau(2)
i = i + 1
Loop Until EOF(LFile)
Close #LFile
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 24 janv. 2008 à 15:46
Bonjour,
Sub OpenTextFile()
Dim MonFichier As String, LeChemin As String
MonFichier = "test.txt"
LeChemin = "C:\temp"
On Error Resume Next
Workbooks.OpenText Filename:=LeChemin & MonFichier, Origin:=437, StartRow:=1 _
, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(14, 1), Array(28, _
1)), TrailingMinusNumbers:=True
If Err.Number <> 0 Then MsgBox "le fichier ou le chemin specifier n'existe pas"
End Sub
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 24 janv. 2008 à 16:56
...
Apparemment tu doit avoir une version d'exel differente de la mienne. Quelle version d'excel as-tu ?
ou bien encore, tu as un probleme de reference mais pour ce dernier on vera apres si le reste ne marche pas.
essaye toujours ça:
Sub OpenTextFile()
Dim MonFichier As String, LeChemin As String
MonFichier = "test.txt"
LeChemin = "C:\temp"
On Error Resume Next
Workbooks.OpenText Filename:=LeChemin & MonFichier, Origin:=437, StartRow:=1 _
, DataType:=xlDelimited, TextQualifier:=xlNone, ConsecutiveDelimiter:= _
True, Tab:=False, Semicolon:=False, Comma:=False, Space:=True, Other _
:=False, FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2)), _
TrailingMinusNumbers:=True
If Err.Number <> 0 Then
MsgBox "le fichier ou le chemin specifier n'existe pas"
Else
Cells.Columns.AutoFit
End If
End Sub
Si cela ne marche pas, dans l'editeur VBA tu vas dans l'aide et tu fais une recherche sur : OpenText Method et tu regarde les options disponible pour DataType
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 24 janv. 2008 à 18:00
?!?
Est-ce que entre les colonnes de ton fichier text, tu as un separateur autre que des espaces ? si oui quoi ?
Ou bien, as-tu, dans ton fichier text, autre chose que les colonnes que tu nous montrées, une phrase ou autre ? si oui donne moi la structure exact de ton fichier
leswebi
Messages postés2Date d'inscriptionvendredi 1 février 2008StatutMembreDernière intervention 1 février 2008 1 févr. 2008 à 11:50
Salut à tous,
Mon problème est exactement l'inverse de celui exposé.
Je souhaite enregistrer des données de feuilles excel sous word au format text strict sans mise en forme.
Voici le bout de code que j'ai, malheureusement il recopie le tableau: comment empécher le collage en mise en forme de tableau mais uniquement en données + tabulation ?
Sub ImportDonneesExcelVersWord()
'
' ImportDonneesExcelVersWord Macro
' Macro enregistrée le 31/01/2008 par Siaap
'
' Touche de raccourci du clavier: Ctrl+Maj+I
'
Range("A1:B17").Copy
Set WW = CreateObject("word.application")
WW.Visible = True
WW.Documents.Add
WW.Selection.PasteSpecial Link:=False, DataType:=wdPasteNumber, Placement:= _
wdInLine, DisplayAsIcon:=False
WW.Application.ActiveDocument.Save
et je souhaite l'exporter comme ça dans un fichier MAV.txt :
-0.166667 0.682870<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
0.000000 0.854398
0.166667 0.887335
0.333333 0.887335
0.500000 1.182405
0.666667 1.674190
0.833333 1.674190
1.000000 1.492940
1.166667 1.590856
1.333333 1.313773
1.500000 1.057176
1.666667 0.695486
1.833333 0.695486
2.000000 0.695486
2.166667 0.682870
Il y a donc 2 colonnes et il y a ici 15 lignes à exporter mais le nombre de lignes est variable en fonction du pas de temps. De plus, je souhaiterai nommer mon fichier avec la chaine de caractère de la première cellule (ici MAV).