Pas d'accent dans une combobox

Résolu
collargol123 Messages postés 86 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 2 avril 2014 - 9 déc. 2013 à 16:53
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 10 déc. 2013 à 11:26
Bonjour,

Je charge une fichier text dans une combobox grace au code ci-dessous :
Dim file As System.IO.File

Dim line As String
Dim reader As System.IO.StreamReader
If Not File.Exists(sPath) Then
Exit Sub
End If
reader = File.OpenText(sPath)
'now loop through each line
While reader.Peek <> -1
line = reader.ReadLine()
oLst.Items.Add(line)
End While

'close your reader
reader.Close()

Je m'aperçois qu'il n'y a jamais les accents : exemple : é
J'ai fait un import.system.text qui ne change rien

J'ai cessayé aussi
Dim reader As new System.IO.StreamReader(spath,encoding.default) sans efrficacité

Une idée ?
merci d'avance

14 réponses

cs_Le Pivert Messages postés 7893 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 19 mai 2023 136
9 déc. 2013 à 17:02
Bonjour,

As-tu les accents dans ton fichier?

J'ai rectifié ton code et j'ai les accents

 Dim line As String
Dim reader As System.IO.StreamReader
If Not IO.File.Exists(sPath)Then
Exit Sub
End If
reader = IO.File.OpenText(sPath)
'now loop through each line
While reader.Peek <> -1
line = reader.ReadLine()
Combobox1.Items.Add(line)
End While

'close your reader
reader.Close()

0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
9 déc. 2013 à 17:07
Salut

essaie
 Dim reader As New System.IO.StreamReader(spath, System.Text.Encoding.UTF8)
0
collargol123 Messages postés 86 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 2 avril 2014
9 déc. 2013 à 17:17
Bonjour,

Je n'ai pas remplacé oLst.Items.Add(line) par Combobox1.Items.Add(line) car je suis dans une procédure Public Sub LoadComboBox(ByRef oLst As System.Windows.Forms.ComboBox, ByVal sPath As String)

et Dim reader As New System.IO.StreamReader(spath, System.Text.Encoding.UTF8) ne fonctionne pas

...
0
cs_Le Pivert Messages postés 7893 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 19 mai 2023 136
9 déc. 2013 à 18:10
Essaie ceci

Imports System.IO
Imports System.Text

Public Sub LoadComboBox(ByRef oLst As System.Windows.Forms.ComboBox, ByVal sPath As String)
Dim line As String
Dim reader As StreamReader = New System.IO.StreamReader(sPath, Encoding.Default)
If Not File.Exists(sPath) Then
Exit Sub
End If
reader = File.OpenText(sPath)
'now loop through each line
While reader.Peek <> -1
line = reader.ReadLine()
oLst.Items.Add(line)
End While
'close your reader
reader.Close()
End Sub



0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
collargol123 Messages postés 86 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 2 avril 2014
9 déc. 2013 à 18:19
sPath, Encoding.Default

J'avais deja essayé
j'ai retenté et cela ne marche tjrs pas
0
cs_Le Pivert Messages postés 7893 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 19 mai 2023 136
9 déc. 2013 à 18:32
Le lances-tu comme ceci:

   LoadComboBox(ComboBox1,"C:\ chemin \Fichier.txt")
'mettre le nom de ton combo

chez moi cela fonctionne
0
collargol123 Messages postés 86 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 2 avril 2014
9 déc. 2013 à 18:56
Public Class frmBou
Inherits System.Windows.Forms.Form

dim chemin as string = application.startuppath & "\Fichier.txt"

... et dans frm load

LoadComboBox(cmb1, chemin)
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
Modifié par cs_ShayW le 9/12/2013 à 21:06
peut etre ainsi

j'ai testé avec un fichier txt contenant des accents pas de problème
ComboBox1.Items.Clear()
ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(Application.StartupPath & "\Fichier.txt"))

aussi ton premier code fonctionne chez moi
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
9 déc. 2013 à 21:12
Je pense que la première question devrait être celle-ci :
Qu'affiche l'ouverture, par le bloc-notes, depuis la machine abritant cette application, du fichier texte considéré ?
0
collargol123 Messages postés 86 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 2 avril 2014
9 déc. 2013 à 23:24
hELLO,

J'ai trouvé d'où vient l'erreur !

En VB6 j'enregistré les combobox sous la forme d'un fichier "fichier.lst"

En vbnet j'enregistre sous la forme "fichier.txt"

J'ai donc ouvert avec le bloc note mon fichier "fichier.lst" que j'ai enregistré sous la forme "fichier.txt" avant de pouvoir utiliser mon fichier précédent. Et effectivement je n'arrive pas à lire les accents.

Comment donc faire pour récupérer ce fichier.lst et arriver à le faire lire ?
0
collargol123 Messages postés 86 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 2 avril 2014
9 déc. 2013 à 23:29
Résolu !
J'ai ouvert option d'enregistrement avancé, j'ai choisi unicode UTF8 sans signature pour l'enregistrement du fichier !
0
collargol123 Messages postés 86 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 2 avril 2014
10 déc. 2013 à 01:56
Si j'ai 100 dossiers dans lesquels j'ai des fichiers .lst et que je desire pourvoir les charger dans les combobox et les visualiser avec les accents, comment feriez-vous ?

Car je ne souhaite pas ouvrir les 100 dossiers pour enregistrer chaque fichier .lst en UTF8 !
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
10 déc. 2013 à 10:56
Pose la question dans un nouveau post
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
10 déc. 2013 à 11:26
pas clair

Tu as dit que tu as ouvert ton fichier.lst avec le blocknote
Et effectivement je n'arrive pas à lire les accents.
ensuite tu as du corrigé le text en remettant les accents et
sauvegardé avec format utf8

maintenant tu as 100 fichiers à corriger
tu seras obligé de les corriger car aucun code ne pourra remettre
les accents
le format utf8 ne corrige pas ton texte mais permet de sauvegarder le texte en conservant les accents
0