Extraction fichier TXT

Résolu
doudou080 Messages postés 15 Date d'inscription lundi 6 mars 2017 Statut Membre Dernière intervention 22 octobre 2017 - Modifié le 22 oct. 2017 à 14:14
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 23 oct. 2017 à 09:27
Bonjour à tous

de nouveau parmi vous pour un petit problème.

dans une macro je fait une conversion d'un fichier TXT.

ChDir "D:\moi\Gestion des reliquats"
    Workbooks.OpenText Filename:= _
        "D:\moi\Gestion des reliquats\TDOUAY_QSYSPRT_2017-10-06-083825.txt", Origin:= _
        xlWindows, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, _
        1), Array(13, 1), Array(22, 1), Array(49, 1), Array(54, 1), Array(63, 1), Array(66, 1), _
        Array(81, 1), Array(90, 1), Array(110, 1), Array(119, 1), Array(126, 1), Array(135, 1), _
        Array(137, 1)), TrailingMinusNumbers:=True
    Range("A7:N100").Select
    ActiveWindow.SmallScroll Down:=-72
    Selection.Copy
    Windows("Gestion des reliquats.xlsm").Activate
    Range("B" & Cells(Rows.Count, "B").End(xlUp).Row + 1).PasteSpecial xlPasteValues
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
    Range("A" & Cells(Rows.Count, "A").End(xlUp).Row + 1).Activate
    ActiveCell.FormulaR1C1 = "10/7/2017"
End Sub


sauf que ce fichier provient d'une extraction automatique qui tourne 2 fois par jour, ce qui fait que je n'ai plus le même non de fichier.

exemple: le matin ,  TDOUAY_QSYSPRT_2017-10-06-083825
: l'AP-midi, TDOUAY_QSYSPRT_2017-10-06-133825


ma question:

existe t'il un moyen que ma macro ne tienne pas compte de ce changement.
ou quelle prenne par défaut le fichier qui se trouve dans ce répertoire.?

cordialement votre

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 21
22 oct. 2017 à 15:34
Bonjour,

Essaies ce code :
Option Explicit
Sub Test()
Const adr$ = "A7:N100"
Dim wshSource As Worksheet
Dim wshCible As Worksheet
Dim rngCible As Range
Dim nomDossier As String
Dim nomFichier As String

  Set wshCible = Workbooks("Gestion des reliquats.xlsm").Worksheets(1)
  Set rngCible = wshCible.Cells(Rows.Count, "B").End(xlUp).Offset(1)
  Set rngCible = rngCible.Resize(Range(adr).Rows.Count, Range(adr).Columns.Count)
  nomDossier = "D:\moi\Gestion des reliquats\"
  nomFichier = Dir(nomDossier & "TDOUAY_QSYSPRT_2017*.txt")
  If nomFichier <> "" Then
    Workbooks.OpenText Filename:=nomDossier & nomFichier, Origin:=xlWindows, StartRow:=1, _
      DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(13, 1), Array(22, 1), Array(49, 1), _
      Array(54, 1), Array(63, 1), Array(66, 1), Array(81, 1), Array(90, 1), Array(110, 1), _
      Array(119, 1), Array(126, 1), Array(135, 1), Array(137, 1)), TrailingMinusNumbers:=True
    Set wshSource = ActiveSheet
    rngCible.Value = wshSource.Range(adr).Value
    wshSource.Parent.Close False
    rngCible.Cells(1, 1).Offset(0, -1).Formula = Date
  End If

End S
ub

0
doudou080 Messages postés 15 Date d'inscription lundi 6 mars 2017 Statut Membre Dernière intervention 22 octobre 2017
22 oct. 2017 à 18:01
bonjour

merci de votre aide

c'est tout a fait ce que je cherche.

par contre j'ai deux colonnes qui ne sont plus triées: K et M.

c'est certainement parce que j'ai des colonnes masquées:i j L N
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 21
22 oct. 2017 à 19:05
Il n'y a pas de tri dans ta macro !
0
Rejoignez-nous