Pas d'accent dans une combobox [Résolu]

Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Dernière intervention
2 avril 2014
- - Dernière réponse : cs_ShayW
Messages postés
3241
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 novembre 2018
- 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
Afficher la suite 

14 réponses

Messages postés
5594
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 décembre 2018
0
Merci
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()

Messages postés
3241
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 novembre 2018
0
Merci
Salut

essaie
 Dim reader As New System.IO.StreamReader(spath, System.Text.Encoding.UTF8)
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Dernière intervention
2 avril 2014
0
Merci
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

...
Messages postés
5594
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 décembre 2018
0
Merci
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



Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Dernière intervention
2 avril 2014
0
Merci
sPath, Encoding.Default

J'avais deja essayé
j'ai retenté et cela ne marche tjrs pas
Messages postés
5594
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 décembre 2018
0
Merci
Le lances-tu comme ceci:

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

chez moi cela fonctionne
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Dernière intervention
2 avril 2014
0
Merci
Public Class frmBou
Inherits System.Windows.Forms.Form

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

... et dans frm load

LoadComboBox(cmb1, chemin)
Messages postés
3241
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 novembre 2018
0
Merci
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
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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é ?
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Dernière intervention
2 avril 2014
0
Merci
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 ?
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Dernière intervention
2 avril 2014
0
Merci
Résolu !
J'ai ouvert option d'enregistrement avancé, j'ai choisi unicode UTF8 sans signature pour l'enregistrement du fichier !
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Dernière intervention
2 avril 2014
0
Merci
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 !
Messages postés
3241
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 novembre 2018
0
Merci
Pose la question dans un nouveau post
Messages postés
3241
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 novembre 2018
0
Merci
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.