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 ...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <Alain@discussions.microsoft.com> a écrit dans le message de news: 1BAB98B9-83F7-4A77-8C81-7D0644EEE418@microsoft.com...
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 ...
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
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
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" <michdenis@hotmail.com> a écrit dans le message de news: uu7xBI$oFHA.420@TK2MSFTNGP09.phx.gbl...
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" <Alain@discussions.microsoft.com> a écrit dans le message de news: 1BAB98B9-83F7-4A77-8C81-7D0644EEE418@microsoft.com...
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 ...
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
Alain
Merci pour tes réponses que je vais appliquer sans tarder.
Je te tiens au courant ... avec peut-être une question subsidiaire ...
@ plus
Merci pour tes réponses que je vais appliquer sans tarder.
Je te tiens au courant ... avec peut-être une question subsidiaire ...