OVH Cloud OVH Cloud

Exporter en TXT

3 réponses
Avatar
Alain
Bonjour,

Voici mon soucis :
Je souhaite exporter (via VBA) une feuille (ou une plage) vers un fichier
texte et n'arrive pas à mes fins avec l'enregistreur de macros. Ce ne doit
pas être bien sorcier, non ? Mais je sèche ...

Merci à celui ou celle qui me donnera la soluce.

Au plaisir réconfortant de vous lire

3 réponses

Avatar
michdenis
Bonjour Alain,

Essaie ceci :

Adapte le nom de la feuille et la plage de cellule à exporter.
Défini le chemin et le nom du fichier texte pour recevoir tes données
Tu peux utiliser le séparateur que tu veux dans ton fichier texte
sep = ?

'------------------------------------------
Sub ExporterDansFichierTexte()

Dim Rg As Range, A As Long, B As Integer
Dim Tblo As Variant, S As String
Dim Sep As String

'Séparateur dans fichier texte
Sep = ";"

Set Rg = Worksheets("Feuil1").Range("A1:C10")
Tblo = Rg
Open "c:Text1.txt" For Output As #1
For A = 1 To UBound(Tblo, 1)
For B = 1 To UBound(Tblo, 2)
S = S & Tblo(A, B) & Sep
Next
S = Left(S, Len(S) - 1)
Print #1, S
S = ""
Next
Close #1
Set Rg = Nothing
End Sub
'------------------------------------------


Salutations!



"Alain" a écrit dans le message de news:
Bonjour,

Voici mon soucis :
Je souhaite exporter (via VBA) une feuille (ou une plage) vers un fichier
texte et n'arrive pas à mes fins avec l'enregistreur de macros. Ce ne doit
pas être bien sorcier, non ? Mais je sèche ...

Merci à celui ou celle qui me donnera la soluce.

Au plaisir réconfortant de vous lire
Avatar
michdenis
Et si tu veux ajouter à un fichier texte déjà existant, la plage de cellule, tu n'as qu'à modifier une ligne du code de la procédure
déjà suggérée :

Au lieu de cette ligne de code,
Open "c:Text1.txt" For Output As #1

Tu devras utiliser cette ligne :
Open "c:Text2.txt" For Append As #1


La différence se résume en 1 mot : OutPut ou Append
Append en français = joindre, ajouter
output en français = Sortie (données en sortie-export)



Salutations!







"michdenis" a écrit dans le message de news: uu7xBI$
Bonjour Alain,

Essaie ceci :

Adapte le nom de la feuille et la plage de cellule à exporter.
Défini le chemin et le nom du fichier texte pour recevoir tes données
Tu peux utiliser le séparateur que tu veux dans ton fichier texte
sep = ?

'------------------------------------------
Sub ExporterDansFichierTexte()

Dim Rg As Range, A As Long, B As Integer
Dim Tblo As Variant, S As String
Dim Sep As String

'Séparateur dans fichier texte
Sep = ";"

Set Rg = Worksheets("Feuil1").Range("A1:C10")
Tblo = Rg
Open "c:Text1.txt" For Output As #1
For A = 1 To UBound(Tblo, 1)
For B = 1 To UBound(Tblo, 2)
S = S & Tblo(A, B) & Sep
Next
S = Left(S, Len(S) - 1)
Print #1, S
S = ""
Next
Close #1
Set Rg = Nothing
End Sub
'------------------------------------------


Salutations!



"Alain" a écrit dans le message de news:
Bonjour,

Voici mon soucis :
Je souhaite exporter (via VBA) une feuille (ou une plage) vers un fichier
texte et n'arrive pas à mes fins avec l'enregistreur de macros. Ce ne doit
pas être bien sorcier, non ? Mais je sèche ...

Merci à celui ou celle qui me donnera la soluce.

Au plaisir réconfortant de vous lire
Avatar
Alain
Merci pour tes réponses que je vais appliquer sans tarder.

Je te tiens au courant ... avec peut-être une question subsidiaire ...

@ plus