Bonjour,
Grâce à ce code j'arrive à créer un fichier *.txt, mais j'aimerais qu'il soit au format UTF-8 et je n'y arrive pas. J'ai bien trouvé quelques morceaux de code, mais impossible de les utiliser...
Mon code (ps : si vous avez mieux, je suis preneur...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub formatTXT() Dim NomFichier As String, Chemin As String Chemin = "D:\Mes documents\CGRC\" NomFichier = "Classeur1" Feuil2.Copy Application.DisplayAlerts = False ActiveWorkbook.SaveAs Chemin & NomFichier, FileFormat:=xlText Application.DisplayAlerts = True ActiveWorkbook.Close False End Sub
Morceau de code trouvé pour le format UTF-8... (en plus c'est pour un *.csv et non pas pour un *.txt)
A savoir : le bouton qui lancera le code vba ne sera pas la page à créer en *.txt et je dois pouvoir rester sur la Feuil1 !
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Sub saveUTF8csv() Dim oAdoS As Object, C As Long, Rg As Range, BILL$, filname As String Set oAdoS = CreateObject("ADODB.Stream") oAdoS.Type = 1 oAdoS.Open BILL = ThisWorkbook.Path & "\tmp" filname = SupprimerAccents(coursev) & Fix(distance) & ".csv" With CreateObject("ADODB.Stream") .Charset = "UTF-8" .Open For Each Rg In Feuil1.[A1].CurrentRegion.Rows For C = 1 To Rg.Cells.Count - 1 .WriteText Rg.Cells(C).Text & ";" Next .WriteText Rg.Cells(C).Text, 1 Next .SaveToFile BILL, 2 .Close .Type = 1 .Open .LoadFromFile BILL .Position = 3 .CopyTo oAdoS .Close End With Kill BILL oAdoS.SaveToFile ActiveWorkbook.Path & "\" & SupprimerAccents(coursev) & Fix(distance) & ".csv", 2 MsgBox "Sauvegarde de '" & filname & "' réussie dans le répertoire courant" End Sub
Exemple :
- Feuil1 = contiendra le bouton qui créera le fichier texte de la Feuil2
- Je ne dois aussi prendre en compte, si cela est possible que la cellule A1 de la Feuil2
Partager