XL 2016 Automatiser copier/coller et enregistrer dans fichier texte

Peacecake

XLDnaute Nouveau
Bonjour,

J'ai un fichier excel avec un TCD que je filtre et le résultat du filtre est à sauvegarder dans un fichier texte. Le nom du fichier text est une valeur du TCD.
Comment pourrais-je m'y prendre pour automatiser cette routine ?

Je vous joins un exemple du fichier excel ainsi que de la sauvegarde du fichier txt

Il y a plusieurs contrats, je précise car dans mon exemple je crois avoir mis qu'une seule référence contrat.

Merci pour votre aide.
 

Pièces jointes

  • PDC01_PASSERELLE01.txt
    214 bytes · Affichages: 29
  • Exemple.xlsx
    19.2 KB · Affichages: 32
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Bonjour Peacecake :)

Ton fichier en retour. Attention! Si plus de lignes dans le tableau, il faudra les rajouter dans la macro. Exemple: line10 - line11 - line12 etc. Le fichier .txt sera créé automatiquement.
 

Pièces jointes

  • Exemple.xlsm
    25 KB · Affichages: 36

Peacecake

XLDnaute Nouveau
Bonjour Peacecake :)

Ton fichier en retour. Attention! Si plus de lignes dans le tableau, il faudra les rajouter dans la macro. Exemple: line10 - line11 - line12 etc. Le fichier .txt sera créé automatiquement.
Bonjour Lone-Wolf

Merci pour ta réponse

Si j'ai bien compris, si je rencontre le cas où il y a 300 lignes comme résultat. Il me faudra créer 300 variables lignes.
 

Lone-wolf

XLDnaute Barbatruc
Re

J'ai retrouvé un code dans mes fichiers. Il y à juste un petit incovenient, le total (E -F) est incrit aussi.

VB:
Option Explicit
Sub Cree_Txt()
Dim fs As Object, a As Object
Dim Chemin As String, Fichier As String
Dim lig As Long, col As Long
Dim var1 As String

    Application.ScreenUpdating = False
 
    Chemin = "C:\Users\" & Environ("Username") & "\Desktop\"
    Fichier = Sheets("Feuil3").Cells(4, 1) & ".txt"
 
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile(Chemin & "\" & Fichier, True)

    With Sheets("Feuil3")
        For lig = 3 To .Cells(Rows.Count, 1).End(xlUp).Row
                For col = 2 To 6
                    var1 = var1 & .Cells(lig, col) & "         "
                Next col
                a.WriteLine var1: var1 = vbNullString
        Next lig
        a.Close
    End With

    Set a = Nothing: Set fs = Nothing

End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 096
Messages
2 085 254
Membres
102 839
dernier inscrit
Tougtoug