L'enfer de l'encodage utf-8 avec Excel

Bonjour,

Une question qui me torture avec l’encodage sous excel.
Pourquoi Excel n’encode pas bien les utf-8 ?

J’ai bon exporté le fichier en indiquant que je voudrai comme encodage utf-8
Via cette manip
Exporter > modifier le type de fichier > Csv (séparateur point-virgule) > enregistrer-sous > Outil > Option web > Encodage > type de fichier > « UTF-8 ».

Rien ne change l’encodage est toujours ISO-8859 (voir la capture d’écran)

utf-8-excel exemple.xlsx (7,8 Ko)

Y a t il un moyen simple sinon pour exporter / convertir sans passer par la solution fastidieuse de basculer en permanence entre Libre Office et Excel.

J’utilise Excel 2016.

Merci pour votre aide

exemple.xlsx (7,8 Ko)

Bonjour Linus_11

Il faudra « malheureusement » passer par VBA :wink:

’ Sub du choix du fichier et envoi à l’encodage
Sub csvUTF8()
Dim FichCSV
FichCSV = Application.GetOpenFilename(« CSV Files (*.csv), *.csv »)
Encode FichCSV, « UTF-8 »
End Sub

’ Procédure d’encodage
Sub Encode(ByVal sPath$, Optional SetChar$ = « UTF-8 »)
With CreateObject(« ADODB.Stream »)
.Open
.LoadFromFile sPath ’ Loads a File
.Charset = SetChar ’ sets stream encoding (UTF-8)
.SaveToFile sPath, 2 ’ adSaveCreateOverWrite
.Close
End With
End Sub

@+

Merci NonoDu45,

Quand j’ai testé ton code, certaines partie du code devient rouge, les « « » « » » sont admis dans le script ?
Première fois que j’utilise VBA :face_with_head_bandage: :grinning:

Merci pour ton retour

Re,

Non désolé, c’est le forum qui change ça, il faut utiliser les guillemets sans espace ni devant, ni après :wink:

Merci NonoDu45 pour le conseil ! Dommage qu’un éditeur aussi puissant et réputé, ne puisse pas faire une telle manœuvre fine (aveuglé par son propre encodage…américain).

1 J'aime

Merci Patrice tellement logique et pratique cette façon de faire :stuck_out_tongue_winking_eye::rofl::v:

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.