Sauver une Sheet en un fichier txt.

Y compris Power BI, Power Query et toute autre question en lien avec Excel
L
Laudelout
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 22 avril 2013
Version d'Excel : 2010

Message par Laudelout » 8 mai 2016, 14:53

Bonjour à tous,

Je pensais sauver la Sheet2 en un fichier "Help.txt". Et ensuite l'ouvrir.
Cela à l'aide d'un bouton.
Le code sauve bien un Fichier "Help.txt" (dans le directory courant), seulement pas moyen de l'afficher.
Sauf si je ferme le fichier excel puis que je le réouvre, alors je peux l' afficher.
On dirait que le fichier "Help.txt" est resté ouvert par excel et pas moyen de l'effacer.
Lors de la création du fichier txt, le nom du workbook est passé de "Book2.xlsm" à "Help.txt".

Je joins le fichier excel.

Votre aide serait la bien venue.

Merci d'avance à vous tous.
Book2.xlsm
(29.32 Kio) Téléchargé 17 fois
t
ti_chou_3
Membre fidèle
Membre fidèle
Messages : 173
Inscrit le : 12 décembre 2014
Version d'Excel : 2013

Message par ti_chou_3 » 8 mai 2016, 16:26

Bonjour

Je le ferais ainsi :
Private Sub Help_Click()
'declaration pour création du fichier plat
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Dim Path As String
Path = ActiveWorkbook.Path

'Avant de créer il faudra bien supprimer le précédant crée
Kill Path & "\Help.txt"

'création nouveau fichier texte
Set oFile = fso.CreateTextFile(Path & "\Help.txt")
Sheet1.Unprotect

der_ligne = Sheets("Sheet2").Range("A65536").End(xlUp).Row ' identification derniere ligne colonne A


    
            For Each c In Sheets("Sheet2").Range("A1:A" & der_ligne) ' je boucle sur chaque ligne de ton fichier jusqu a la derniere ligne
            oFile.WriteLine c & Chr(9) & c.Offset(0, 1) ' j affiche colonne A + tabulation + colonne B
            Next
    
'Fermeture fichier crée
oFile.Close
Set fso = Nothing
Set oFile = Nothing
    

'Afficher le txt
MsgBox " Le fichier va s'ouvrir ... "
fichier = Path & "\Help.txt"
Shell ("C:\Windows\System32\notepad.exe " & fichier)
End Sub

Cdt,
Pro bono
L
Laudelout
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 22 avril 2013
Version d'Excel : 2010

Message par Laudelout » 8 mai 2016, 19:21

Merci beaucoup ti_chou_3. J'apprècie bcp ton aide.
Cela fonctionne super bien à 99%. Et merci pour les 'commentaires.
Le fichier s'ouvre mais minimisé dans le Toolbar au bas de l'écran.
Pas de problème, c'est déjà très très bien.
Encore merci.
:btres:
t
ti_chou_3
Membre fidèle
Membre fidèle
Messages : 173
Inscrit le : 12 décembre 2014
Version d'Excel : 2013

Message par ti_chou_3 » 8 mai 2016, 20:27

Bonsoir

On va atteindre les 100% :-)

remplace :
Shell ("C:\Windows\System32\notepad.exe " & fichier)
par :
Shell "C:\Windows\System32\notepad.exe " & fichier, vbNormalFocus
Ça devrait être ce que tu veux

Cdt,
Pro bono
L
Laudelout
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 22 avril 2013
Version d'Excel : 2010

Message par Laudelout » 8 mai 2016, 21:19

C'est vraiment très sympa ti_chou_3.

Merci beaucoup,
L
Laudelout
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 22 avril 2013
Version d'Excel : 2010

Message par Laudelout » 10 mai 2016, 17:28

Bonsoir à tous,

ti_chou_3 m'a vraiment bien aidé.
Je regarde comment ce code fonctionne.
Et je m'apercois que "Kill" ne tue pas ou plus de fichier.
Comment ca se fait. Ai-je commis une erreur?
ti_chou_3 atteint 100%, super.
Peut-on faire comme les turbo diesel, 102%?
Je me demandais, dans le cas où "Kill" fonctionne, si on peut le mettre
dans le code "ThisWorkBook" dans 'Private Sub Workbook_BeforeClose(Cancel As Boolean)'
Pour fermer éventuellemnt le fichier 'Help' resté ouvert, après la fermeture d'excel?

Merci d'avance,
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message