IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Ouverture d'un fichier .txt (avec partie variable) puis enregistrement sous .csv avec nom défini


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2020
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Avril 2020
    Messages : 26
    Points : 18
    Points
    18
    Par défaut Ouverture d'un fichier .txt (avec partie variable) puis enregistrement sous .csv avec nom défini
    Bonjour,

    Je souhaite extraire les données d'un fichier en .txt pour les enregistrer en .csv mais je bloque sur le code.

    Actuellement mon code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.DisplayAlerts = False
    Workbooks("Macro VBA SAE.xlsm").Worksheets("SAE").Cells.ClearContents
    Workbooks.Open Filename:="C:\Users\FR32835\Desktop\Doc SAP Tartampion\Interfaçage\SAE\extract_CES_SAE_v3_p0606876ugfe_20210611151946.txt"
    Workbooks("extract_CES_SAE_v3_p0606876ugfe_20210611151946.txt").SaveAs ("C:\Users\FR32835\Desktop\Doc SAE Tartampion\Interfaçage\SAE\extract_CES_SAE_v3_p0606876ugfe_" & Format(Now(), "yyyymmdd") & ".xlsx")
    Workbooks("extract_CES_SAE_v3_p0606876ugfe_" & Format(Now(), "yyyymmdd") & ".xlsx").Worksheets("extract_CES_SAE_v3_p0606876ugfe").rows("1:1").Select
        Selection.Delete shift:=xlUp
    Workbooks("extract_CES_SAE_v3_p0606876ugfe_" & Format(Now(), "yyyymmdd") & ".xlsx").Worksheets("extract_CES_SAE_v3_p0606876ugfe").Columns("A:A").Select
        Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
            :="|", FieldInfo:=Array(Array(1, 1))
    Workbooks("extract_CES_SAE_v3_p0606876ugfe_" & Format(Now(), "yyyymmdd") & ".xlsx").Worksheets("extract_CES_SAE_v3_p0606876ugfe").Cells.Copy _
    Workbooks("Macro VBA SAE.xlsm").Worksheets("SAE").Range("A1")
    Workbooks("extract_CES_SAE_v3_p0606876ugfe_" & Format(Now(), "yyyymmdd") & ".xlsx").Close False
    Application.ScreenUpdating = True
    Application.EnableEvents = True
    Application.DisplayAlerts = True
    End Sub
    A noter que le fichier txt commence systématiquement par "extract_CES_SAE_v3_p0606876ugfe_" et que je souhaite l'enregistrer sous "extract_CES_SAE_v3_p0606876ugfe_" & Format(Now(), "yyyymmdd") & ".xlsx".

    Merci d'avance pour votre aide

    Cordialement

  2. #2
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,

    Pourquoi ne passerais-tu pas par un "filecopy" (ou "copyfile", je sais plus) ?
    Car si je comprends bien ton problème et ton code, tu ne fais qu'une copie des données d'un fichier Txt vers un nouveau fichier CSV.

    D'ailleurs, tu parles de fichier CSV mais tu cherches à enregistrer en .XLSX, ce qui n'est pas exactement la même chose.

    Cordialement,
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2020
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Avril 2020
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Dans l'idée, le csv est une étape pour récupérer le fichier txt brut puis il y a une conversion de données avec séparateur. Une fois que chaque cellule a reçu sa valeur, j'enregistre le fichier en xlsx pour pouvoir le travailler derrière

Discussions similaires

  1. [XL-2013] VBA - ouverture d'un fichier pdf avec nom incomplet
    Par alexandrefcsm dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 23/06/2016, 13h16
  2. [Débutant] Comment sauvegader un fichier txt avec un nom variable
    Par Ange54 dans le forum MATLAB
    Réponses: 2
    Dernier message: 21/10/2015, 23h02
  3. Réponses: 1
    Dernier message: 20/11/2007, 15h12
  4. Importation de fichiers TXT avec chemin variable
    Par moulayoubi dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/04/2007, 14h29
  5. ouverture de fichier txt avec excel
    Par blondelle dans le forum C++Builder
    Réponses: 5
    Dernier message: 24/05/2006, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo