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 :

Sauvegarde/export en fichier txt avec tabulation (Non visible) [XL-365]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Novembre 2004
    Messages : 388
    Par défaut Sauvegarde/export en fichier txt avec tabulation (Non visible)
    Bonjour,

    J'ai fait des recherches et j'ai trouvé des exemples et je suis arrivé a :

    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
    Sub SaveAs_Tab()
        Filename = ActiveWorkbook.Name
     
        If InStr(Filename, ".") > 0 Then
            Filename = Left(Filename, InStr(Filename, ".") - 1)
        End If
     
        If Dir(Application.ActiveWorkbook.Path & "\" & Filename & ".txt") <> "" Then
            Kill Application.ActiveWorkbook.Path & "\" & Filename & ".txt"
        End If
     
        PathSavetxt = Application.ActiveWorkbook.Path & "\" & Filename & ".txt"
     
        Application.DisplayAlerts = False
     
        Worksheets("Feuil1").Copy
        With ActiveWorkbook
            .SaveAS Filename:=PathSavetxt, FileFormat:=xlText, CreateBackup:=False
            .Close False
        End With
     
        Application.DisplayAlerts = True
    End Sub
    Quand je passe :

    Worksheets("Feuil1").Copy
    Cela ouvre une nouvelle fenêtre (vous allez me dire normal), mais j'aimerais qu'elle ne soit pas visible a l'écran, meme un bref instant, je trouve pas très agréable d'avoir des fenêtres qui s'ouvre et qui se ferme.

    donc comment faire pour que "Worksheets("Feuil1").Copy" travaille en arrière plan ?

    Avez une idée svp ?

    En vous remerciant d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Avez-vous pensé à dérouler la macro en pas à pas (touche F8) pour localiser le problème?

    Cdlt

  3. #3
    Membre éprouvé
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Novembre 2004
    Messages : 388
    Par défaut
    Bonjour ARTURO83

    J'ai fait du pas a pas avec la touche F8
    Je pense que mon explication est peut être évasive

    Quand je passe :

    Worksheets("Feuil1").Copy
    Cela ouvre une nouvelle fenêtre (vous allez me dire normal), mais j'aimerais qu'elle ne soit pas visible a l'écran, meme un bref instant, je trouve pas très agréable d'avoir des fenêtres qui s'ouvre et qui se ferme.

    donc comment faire pour que "Worksheets("Feuil1").Copy" travaille en arrière plan ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    as-tu essayé de désactiver le rafraichissement de l'écran ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = False
    à remettre à true par la suite

  5. #5
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 575
    Par défaut
    Bonjour,
    Je ne vois pas pourquoi tu fais Worksheets("Feuil1").Copy avant ton SaveAs?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     'Worksheets("Feuil1").Copy
        With ActiveWorkbook
            .Sheets("Feuil1").Activate
            .SaveAs Filename:=PathSavetxt, FileFormat:=xlText, CreateBackup:=False
           ' .Close False
        End With

  6. #6
    Membre éprouvé
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Novembre 2004
    Messages : 388
    Par défaut
    Citation Envoyé par joe.levrai Voir le message
    Bonjour joe.levrai

    Je viens de faire un test et l'affichage se fait toujours sur la ligne Worksheets("Feuil1").Copy

    Citation Envoyé par Thumb down Voir le message
    Bonjour Thumb down

    Je viens de faire un copier/coller du code que vous avez donné et cela fait une erreur sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .SaveAs Filename:=PathSavetxt, FileFormat:=xlText, CreateBackup:=False

  7. #7
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    En mettant en première ligne "Application.ScreenUpdating = False" on ne verra pas la feuille qui s'ouvre
    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
       Sub SaveAs_Tab()
     Application.ScreenUpdating = False
        Filename = ActiveWorkbook.Name
     
        If InStr(Filename, ".") > 0 Then
            Filename = Left(Filename, InStr(Filename, ".") - 1)
        End If
     
        If Dir(Application.ActiveWorkbook.Path & "\" & Filename & ".txt") <> "" Then
            Kill Application.ActiveWorkbook.Path & "\" & Filename & ".txt"
        End If
     
        PathSavetxt = Application.ActiveWorkbook.Path & "\" & Filename & ".txt"
     
        Application.DisplayAlerts = False
     
        Worksheets("Feuil1").Copy
        With ActiveWorkbook
            .SaveAs Filename:=PathSavetxt, FileFormat:=xlText, CreateBackup:=False
            .Close False
        End With
    End Sub
    Cdlt

  8. #8
    Membre éprouvé
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Novembre 2004
    Messages : 388
    Par défaut
    Bonjour ARTURO83

    Je viens de faire le test en procedure pas par pas (touche F8), ça ouvre la fenêtre
    En mode F5 brièvement mais elle est toujours la (vous avez certainement une meilleurs machine que la mienne ^^ cela doit jouer)

  9. #9
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Je n'ai pas dit de le faire en pas à pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exporter en fichier txt avec taille fix
    Par ryaxx dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/12/2014, 15h50
  2. Réponses: 3
    Dernier message: 13/03/2014, 15h41
  3. ETL exporter un fichier txt avec en tête
    Par soft_bi dans le forum SSIS
    Réponses: 2
    Dernier message: 29/06/2009, 19h37
  4. Export vers un fichier txt avec transformation
    Par jlgodart dans le forum Développement
    Réponses: 2
    Dernier message: 09/02/2009, 21h54
  5. Réponses: 41
    Dernier message: 02/05/2006, 14h17

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