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
7784
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 juin 2022
129
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
7784
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 juin 2022
129
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
7784
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 juin 2022
129
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
235
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