Bonjour,

Je fais des calculs et cherche à sortir les résultats sur imprimante. Apparemment, rien de bien compliqué, sauf que je tombe sur des problèmes de codage de caractères. A tout hasard, je livre ce petit programme et le résultat pour mieux me faire comprendre.

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
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 
        Dim ilp As Integer
        Dim imp As String
        Dim lig As String
        Dim WordApp As Object
        Dim WordDoc As Object
        Dim WordRng As Object
 
        WordApp = CreateObject("Word.Application")
        lig = "ééééèèè°°°&&&&######"
        ilp = 6
        imp = "D:\Gilbert\Temp\Imp.txt"
        FileOpen(ilp, imp, OpenMode.Output)
    Print(ilp, lig)
    FileClose(ilp)
        MsgBox(lig)
        WordApp.Visible = True
        WordDoc = WordApp.Documents.Open(imp)
        WordRng = WordDoc.Range
        REM Shell("C:\Program Files (x86)\Microsoft Office\Office14\WinWord.exe D:\Gilbert\Temp\Imp")
 
    End Sub
End Class
Exécution :

鳬鳬韋隹ーー&&&&######

Les caractères accentués sont remplacés par du chinois ! En reprenant manuellement le fichier d'impression, je constate qu'ils ont bien été enregistrés. En lançant WORD manuellement sur ce fichier, une petite fenêtre apparait pour me suggérer d'utiliser un codage WINDOWS, et là ça marche. Mais cette petite fenêtre n'apparait pas quand WORD est lancé par le programme. Merci à ceux qui ont des idées sur la question. Encore une remarque : la ligne Shell placée en remarque pour empêcher son exécution est un essai de lancer brutalement WORD comme si je le faisais manuellement. Là, ça marche, la petite fenêtre apparait.
Merci, et avec toute ma sympathie