Aides Macro d'importation fichier texte

Bonjour,

J'ai une macro pour importer un fichier texte dans un tableau excel et j'aurai besoin que cette macro importe mon fichier texte à un endroit spécifique dans un onglet déjà existant d'un fichier excel. Actuellement la macro ouvre un nouveau fichier excel qu'elle nomme comme le fichier texte choisi pour l'importation.

Ci dessous la macro que j'ai récupéré et modifié pour récupérer un type de fichier différend ainsi que la page du site sur lequel je l'ai trouvé et en pièces jointes un exemple de log à traiter.

Sub ImportTextFileBackup()
'Import a text file using Excel's own import function.
Dim vFileName

On Error GoTo ErrorHandle

'The function GetOpenFileName gets the file name without
'opening the file.
'Here we use a filter to display only text files with "*.txt" as
'extension. If you omit the file filter, all files will show.
'Read the VBA help for other options.
vFileName = Application.GetOpenFilename("Text Files (*.log),*.log")

'If the user pressed Cancel or didn't select a text file, we exit.
If vFileName = False Or Right(vFileName, 3) <> "log" Then
   GoTo BeforeExit
End If

'Switch screen updating off for speed.
Application.ScreenUpdating = False

'We now import the selected text file, and data is
'inserted into a new spreadsheet. If you want to use
'another delimiter than semicolon, you must change
'"Semicolon:=True" to "Semicolon:=False" and set the
'other delimiter (e.g. "Tab") to True.
'I recently discovered that you can avoid
'some formatting problems (e.g. with dates),
'if you add the finel "Local:=True". It depends
'on your local settings and Excel version, but
'the addition does no harm.
Workbooks.OpenText Filename:=vFileName, _
    Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=True, Comma:=False, Space:=False, _
    Other:=False, TrailingMinusNumbers:=True, _
    local:=True

'Just to show how, we auto fit the width of column A.
Columns("A:A").EntireColumn.AutoFit

BeforeExit:
Application.ScreenUpdating = True
Exit Sub
ErrorHandle:
MsgBox Err.Description
Resume BeforeExit
End Sub

http://sitestory.dk/excel_vba/automatic-import-textfile.htm

Merci d'avances pour vos réponse

Bonjour

à modifier les chemins si cela ne fonctionne pas

cela fonctionne si dans le même répertoire

j'ai changé l'extension .txt par .log du code VBA

à tester , remodeler etc...

Edit : pour les images jointes regardez de bas en haut

crdlt,

André

zest1 zest2 zest3 zest4

ça marche!

Juste un petit détail à régler , la macro insère de nouvelles colonnes tel que dans cette image

resultat obtenu

et mon but est d'arriver à quelque chose de similaire à cette image d'une ancienne version du fichier excel

resultat recherche

Si vous pouviez m'indiquer quel paramètre modifier afin de régler ce problème ce serait génial!

Merci encore de ta réponse!

re,

dans ==> Sub test()

je pense que c'est celui là à modifier dans vba (en supprimant des 1)

.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1)

par :

   .TextFileColumnDataTypes = Array(1, 1)

ou

   .TextFileColumnDataTypes = Array(1)

crdlt,

André

bonjour

je trouve que 3 colonne

voir import TXT

A+

Maurice

J'ai essayé de modifier les paramêtres d'array tel que tu me l'as proposé et ça n'a pas marché par contre en mettant à FALSE tout les delimiteur tel que .

TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = False
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False

j'ai réussi à faire disparaître toute les colonnes supplémentaires mais il reste toujours une colonne d'insertion

delimiter false

J'ai réussi à régler le problème

J'ai juste eu à changer

.RefreshStyle = XlCellInsertionMode

en

.RefreshStyle = xlOverwriteCells

Merci pour votre aide tout le monde!

Fausse alerte

Rechercher des sujets similaires à "macro importation fichier texte"