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 :

Enregistrer une plage de donnée dans un fichier texte


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Sans emploi - Autonome
    Inscrit en
    Mars 2018
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sans emploi - Autonome

    Informations forums :
    Inscription : Mars 2018
    Messages : 130
    Points : 35
    Points
    35
    Par défaut Enregistrer une plage de donnée dans un fichier texte
    Bonjour,

    D'habitude pour enregistrer mes données au format txt, je copie/colle les données qui m'intéresse sur une feuille vierge et j'applique cette instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            Worksheets("Feuil1").SaveAs FileName:=chemin & "\Feuil1.txt", _
            FileFormat:=xlUnicodeText, CreateBackup:=False
    J'aimerai savoir s'il existe un moyen en VBA, d'enregistrer une plage bien définie par exemple : A1:G50 de la feuil1 et non pas toute la feuille.

    Merci d'avance.

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Une piste (voir commentaires) :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    Sub FichierTexte()
     
        'activer la référence "Microsoft Forms 2.0 Object Library." ou ajouter un formulaire (la référence sera automatiquement ajoutée)
        Dim PP As New DataObject
     
        Dim Plage As Range
        Dim Dossier As String
        Dim Fichier As String
        Dim Texte As String
     
     
        Dossier = "C:\Dossier1\Dossier2\Dossier3\"'<--- à adapter
        Fichier = "Test.txt"
     
        On Error Resume Next
        Kill Dossier & Fichier
        On Error GoTo 0
     
        Set Plage = ActiveSheet.Range("A1:G50")
     
        Plage.Copy
     
        With PP
     
            .Clear
            .GetFromClipboard
            Texte = .GetText(1)
     
        End With
     
        Application.CutCopyMode = False
     
        Texte = Replace(Texte, vbTab, ";") '<--- mettre ici le séparateur voulu en lieu et place des tabulations si nécessaire
     
        'création du fichier
        Open Dossier & Fichier For Binary Access Write As #1: Put #1, , Texte: Close #1
     
    End Sub

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/07/2010, 14h51
  2. enregistrer une plage de cellules dans un autre fichier
    Par Kiphrine dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/05/2009, 10h14
  3. Comparaison cellules avec une plage de données dans un autre fichier
    Par Jibi64 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/08/2008, 16h22
  4. Comment créer une base de donnée dans un fichier .txt
    Par vantoff dans le forum C++Builder
    Réponses: 9
    Dernier message: 19/07/2006, 19h44
  5. [VBA] Copier une plage de cellules dans un fichier fermé
    Par SFrane dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/01/2006, 16h52

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