Re : macro pour extraire certaines données d'un fichier texte
Bonjour,
Merci Ubot303 pour ta réponse...j'ai un peu avancé depuis hier et j'ai réussi à importer mon fichier texte et à le découper avec le nombre de colonnes que je souhaite....
Mon problème maintenant c'est que je voudrais que l'importation et le découpage que j'ai fait puissent s'appliquer à d'autres fichiers que l'utilisateur choisirais.
J'ai enregistré une macro avec les manip que j'ai faites pour le découpage de mon fichier texte mais je ne sais pas comment faire pour cette macro ouvre une boîte de dialogue me demandant de choisir un fichier avant d'appliquer le découpage....
J'espère être assez clair dans mes explications...🙄 en gros ce que je veux c'est que ma macro ouvre une boîte de dialogue me demandant de choisir un fichier texte et ensuite qu'elle applique le découpage que je souhaite....
voici le code de la macro que j'ai enregistrée:
Sub importation_txt()
'
' importation_txt Macro
' importer et découper le fichier texte
'
'
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\guillaume\Desktop\OFJOUR.TXT", Destination:=Range("$A$1"))
.Name = "OFJOUR"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 28
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(15, 37, 3, 3, 8, 12, 13, 10, 6, 11, 10, 9, 9, 9, 10, 9, _
9)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
J'espère que quelqu'un pourra me dépanner rapidement car je dois trouver la solution pour demain au plus tard!
Merci d'avance à celles et ceux qui auront la gentillesse d'aider un pauvre gars comme moi!! 😛😀