Amelioration macro export onglet au format txt.

Le
Domi
Bonsoir à tous,
J'utilise catte macro depuis pas mal de temps (elle n'est pas de moi) Si
l'auteur se reconnait : Merci ! ;o))
Elle me permet d'exporter la page en cour au format texte avec le ";" en
serparateur. Ca marche très bien !
quelqu'un sait il comment la modifer pour que le fichier généré soit
systématiquement enregistré dans un dossier précisé dans le code ?
C:textes par exemple.
Et sans demande de confirmation.
Merci
Domi

Sub SauverTexte()

Dim C As Variant
Dim FileName As String
Dim a As Integer, b As Integer
Dim tmP As String

'Selection des données à exporter (toutes les valeurs de la feuille active
With ActiveSheet
Range("A1").Select
C = Range(Selection, ActiveCell.SpecialCells(xlLastCell))
End With

FileName = Application.GetSaveAsFilename(InitialFileName:="MonFichierTexte",
fileFilter:="Text Files (*.txt), *.txt")

'Si utilisation du bouton annuler
If CStr(FileName) = CStr(False) Then
Exit Sub
End If

'ouverture du fichier
Open FileName For Output As #1

For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Chr(59) & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
'Fermeture du fichier
Close #1


End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19645131
Bonjour Domi,

'---------------------------------------
Sub SauverTexte()

Dim C As Variant, NouveauChemin As String
Dim FileName As String, Fichier As String
Dim a As Integer, b As Integer
Dim tmP As String

'Selection des données à exporter (toutes les valeurs de la feuille active
With ActiveSheet
Range("A1").Select
C = Range(Selection, ActiveCell.SpecialCells(xlLastCell))
End With

FileName = Application.GetSaveAsFilename _
(InitialFileName:="MonFichierTexte", _
fileFilter:="Text Files (*.txt), *.txt")

'Si utilisation du bouton annuler
If CStr(FileName) = CStr(False) Then
Exit Sub
End If

'Extrait le nom du fichier retenu
Fichier = Split(FileName, "")(UBound(Split(FileName, "")))
'Extrait le chemin originale de la sélection de l'usager
Chemin = Replace(FileName, Fichier, "")
'Définir où sera enregistrer le prochain fichier
NouveauChemin = "C:textes"

'ouverture du fichier
Open NouveauChemin & Fichier For Output As #1

For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Chr(59) & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
'Fermeture du fichier
Close #1
'Pour supprimer le fichier originale
Kill FileName

End Sub
'---------------------------------------




"Domi"
Bonsoir à tous,
J'utilise catte macro depuis pas mal de temps (elle n'est pas de moi) Si
l'auteur se reconnait : Merci ! ;o))
Elle me permet d'exporter la page en cour au format texte avec le ";" en
serparateur. Ca marche très bien !
quelqu'un sait il comment la modifer pour que le fichier généré soit
systématiquement enregistré dans un dossier précisé dans le code ?
C:textes... par exemple.
Et sans demande de confirmation.
Merci
Domi

Sub SauverTexte()

Dim C As Variant
Dim FileName As String
Dim a As Integer, b As Integer
Dim tmP As String

'Selection des données à exporter (toutes les valeurs de la feuille active
With ActiveSheet
Range("A1").Select
C = Range(Selection, ActiveCell.SpecialCells(xlLastCell))
End With

FileName = Application.GetSaveAsFilename(InitialFileName:="MonFichierTexte",
fileFilter:="Text Files (*.txt), *.txt")

'Si utilisation du bouton annuler
If CStr(FileName) = CStr(False) Then
Exit Sub
End If

'ouverture du fichier
Open FileName For Output As #1

For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Chr(59) & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
'Fermeture du fichier
Close #1


End Sub
Jacky
Le #19645221
Bonsoir,

Remplace
FileName =
Application.GetSaveAsFilename(InitialFileName:="MonFichierTexte",
fileFilter:="Text Files (*.txt), *.txt")



Par comme ton exemple (> C:textes... par exemple.)

FileName = "C:texteMonFichierTexte.txt"

Ps :le repertoire "texte" doit exister
--
Salutations
JJ


"Domi"
Bonsoir à tous,
J'utilise catte macro depuis pas mal de temps (elle n'est pas de moi) Si
l'auteur se reconnait : Merci ! ;o))
Elle me permet d'exporter la page en cour au format texte avec le ";" en
serparateur. Ca marche très bien !
quelqu'un sait il comment la modifer pour que le fichier généré soit
systématiquement enregistré dans un dossier précisé dans le code ?
C:textes... par exemple.
Et sans demande de confirmation.
Merci
Domi

Sub SauverTexte()

Dim C As Variant
Dim FileName As String
Dim a As Integer, b As Integer
Dim tmP As String

'Selection des données à exporter (toutes les valeurs de la feuille active
With ActiveSheet
Range("A1").Select
C = Range(Selection, ActiveCell.SpecialCells(xlLastCell))
End With

FileName =
Application.GetSaveAsFilename(InitialFileName:="MonFichierTexte",
fileFilter:="Text Files (*.txt), *.txt")

'Si utilisation du bouton annuler
If CStr(FileName) = CStr(False) Then
Exit Sub
End If

'ouverture du fichier
Open FileName For Output As #1

For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Chr(59) & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
'Fermeture du fichier
Close #1


End Sub



Publicité
Poster une réponse
Anonyme