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)
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
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 !

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