msgbox - caractères asiatique «你好» donne «??» dans Excel VBA

excel12

XLDnaute Nouveau
Bonjour à tous les passionnés d'Excel!

J'ai une question un peu particulière. Je voulais utiliser un msgbox pour faire apparaître du texte. Le texte doit être écrire en français, anglais et chinois. Mais petits soucis. Pour le texte chinois, dans VBA d’Excel, les caractères apparaissent en point d'interrogation. Exemple: «你好» (bonjour) va donner ceci: «??»

Si vous avez une idée pour résoudre ce problème, merci pour vos conseils,

Excel12
 

Modeste geedee

XLDnaute Barbatruc
Re : msgbox - caractères asiatique «你好» donne «??» dans Excel VBA

Bonsour®

"La" police de caractères d'un msgbox est définie dans les options Windows: panneau de configuration > apparence des fenêtres > Paramètres avancés ( image)

et ne peut être modifiée dans VBA sans l'utilisation d'une API Windows
Declare Function SetSysColors Lib "user32" Alias "SetSysColors" (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long
noter également : il ne peut être utilisé qu'une seule police à la fois...

Pour arriver à tes souhaits, il faut utiliser une boite de dialogue personnalisée (Userform)
et utiliser un label séparé pour chaque langue asiatique, arabe ou cyrillique voulue.
 

Pièces jointes

  • Capture.jpg
    Capture.jpg
    61.7 KB · Affichages: 283
  • Capture.jpg
    Capture.jpg
    61.7 KB · Affichages: 310
  • Capture.jpg
    Capture.jpg
    61.7 KB · Affichages: 288

chris

XLDnaute Barbatruc
Re : msgbox - caractères asiatique «你好» donne «??» dans Excel VBA

Bonjour
Coucou mapomme, Modeste geedee

Selon une astuce de
Answer : Unicode captions in UserForm and MessageBox?
et sous réserve que les options internationales soient activées dans Windows (c'est toujours le cas depuis Windows 7)
voici une astuce pour afficher soit une langue passée en paramètres (Sub testini1), soit plusieurs langues (Sub testiniMulti)

Le tableau des messages est dans une feuille du classeur.

Edit : préférer l'Unicode aux polices exotiques.
 

Pièces jointes

  • Unicode_msgbox.xlsm
    19 KB · Affichages: 215
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 219
Messages
2 086 369
Membres
103 197
dernier inscrit
sandrine.lacaussade@orang