Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

question rare et peut etre difficile à répondre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pasquetp

XLDnaute Occasionnel
Bonjour,

peu de monde vous ont déjà posé la question suivante:

j'ai fait une macro pour differentes langues.

j'ai un souci avec le japonais.

j'essai d'avoir un msgbox avec le message suivant: 分析データが完成しました

ca me sort des ????????

J'ai installé la version japonaise:meme problème

j'ai tenté ces codes:

MsgBox Sheets("error-report").Range("a24"), vbInformation, "process complete"

et

MsgBox "分析データが完成しました" vbInformation, "process complete"

les deux échouent

quelqu'un aurait une idée?
 
Re : question rare et peut etre difficile à répondre

Bonjour,

essaye peut être ceci, non testé... :
Code:
MsgBox Sheets("error-report").Range("a24").Text, vbInformation, "process complete"

bonne journée
@+
 
Re : question rare et peut etre difficile à répondre

salut,

Merci de ta reponse rapide

j'ai tenté mais le meme problème arrive

je mets une photo d'écran

si vous avez d'autres idées, n'hesitez pas
 

Pièces jointes

  • Capture.JPG
    13.9 KB · Affichages: 60
  • Capture.JPG
    13.9 KB · Affichages: 95
  • Capture.JPG
    13.9 KB · Affichages: 85
Re : question rare et peut etre difficile à répondre

Bonjour

Il semblerait que 2013 accepte l'Unicode dans les msgbox contrairement aux versions antérieures.

Il faudrait poster un mini exemple de ton cas : que l'on ait le code qui prend la chaîne japonaise (on ne sait s'il elle est stockée dans le classeur ou pas) et l'affiche pour faire des essais (pour ma part pas avant ce soir).
 
Re : question rare et peut etre difficile à répondre

Bonsour®
selon moi il n'y a qu'un seul moyen

d'oublier le msgbox et de faire apparaitre le message japonai dans un form (là ce marche)

en effet le msgbox n'est pas un process VBA mais un process Windows
la police utilisée est unique et définie dans les options system , applicables à toute applications windows

seul un userform permet la variabilité des polices utilisées.
 
Re : question rare et peut etre difficile à répondre

Bonsoir à tous

En passant par les API, on peut utiliser un Msgbox "Unicode" (sans passer par un userform)
(test OK sur Excel 2013)
Code:
Option Explicit
Private Declare Function MessageBoxW Lib "User32" _
    (Optional ByVal hWnd&, _
    Optional ByVal Prompt&, _
    Optional ByVal Title&, _
    Optional ByVal Buttons&) As Long

Code:
Public Function MsgBoxUnicode(ByVal Message$, Optional ByVal Bouton As VbMsgBoxStyle = 0, Optional ByVal Titre$)
MessageBoxW 0, StrPtr(Message), StrPtr(Titre), Bouton
End Function
Code:
Private Sub Test1()
Dim Mess$
Mess = ChrW$(&H5206) & ChrW$(&H6790) & ChrW$(&H30C7) & ChrW$(&H30FC) & ChrW$(&H30BF) & ChrW$(&H304C) & ChrW$(&H5B8C) & ChrW$(&H6210) & ChrW$(&H3057) & ChrW$(&H307E) & ChrW$(&H3057) & ChrW$(&H305F)
MsgBoxUnicode Mess, 2, "Test 1"
End Sub

Code:
Private Sub Test2()
Dim Mess$
Mess = ChrW$(&H5206) & ChrW$(&H6790) & ChrW$(&H30C7) & ChrW$(&H30FC) & ChrW$(&H30BF) & ChrW$(&H304C) & ChrW$(&H5B8C) & ChrW$(&H6210) & ChrW$(&H3057) & ChrW$(&H307E) & ChrW$(&H3057) & ChrW$(&H305F)
MsgBoxUnicode Mess, 48, "Test 2"
End Sub

NB: Par contre il faut au préalable avoir les codes UTF16 de chaque caractères...
 
Re : question rare et peut etre difficile à répondre

Bonjour à tous

J'avais posté une solution pour le chinois ici https://www.excel-downloads.com/threads/msgbox-caracteres-asiatique-donne-dans-excel-vba.213270/

Cela marche aussi pour le japonais et ne nécessite pas de découper la chaîne si on l'a dans une cellule.

Edit : Modeste Geedee avait d'ailleurs fais une réponse très proche de celle faite dans ce fil 🙄

Edit 2 : merci à pasquetp de modifier son titre de fil pour un titre plus explicite afin de permettre à d'autre de retrouver facilement en cas de problème analogue.
 
Dernière édition:
Re : question rare et peut etre difficile à répondre

Bonsoir chris 😉

Il semblerait que 2013 accepte l'Unicode dans les Msgbox contrairement aux versions antérieures.
Sauf erreur de ma part, pas sur mon Excel 2013 en tout cas 😉

PS: Voila qui prouve encore une fois l'utilité de la loupe 😉
(sur laquelle j'ai omis de cliquer 🙄😱 mais j'avais ce bout de code qui trainait dans mes archives 😉
(cf code VBA de mon précédent message)
 
Re : question rare et peut etre difficile à répondre

Re

Salut Staple 🙂 : effectivement je n'ai pour ma part pas vu de différence avec 2010 malgré cette affirmation trouvée sur Google.

Nos 2 solutions fonctionnent de 2007 à 2013 si Windows pas antédiluvien.
 
Re : question rare et peut etre difficile à répondre



Bonjour,

Concernant la possibilité de passer par les fonctions ci-dessus, j'ai une erreur de compatibilité de type sur la partie MessageBoxW 0, StrPtr(Message), StrPtr(Titre), Bouton


La seule modification que j'ai apporté est que dans la déclaration de la Fonction MessageBoxW j'ai rajouté "Ptrsafe" suivant l'aide Microsoft.

Merci d'avance pour votre aide !
 
Re : question rare et peut etre difficile à répondre

Bonjour,
Sur une version 32 bits d'Excel le code fonctionne...utilise-tu une version Excel 64 bits ?
A+

Effectivement j'ai une version installé 64bits.

En fait je m'en doutais car j'avais déjà du mettre le "ptrsafe" pour la fonction MessageBoxW...

Du coup, y'a t'il moyen de faire tourner ça sur une version 64bits ?


Par contre j'apporte ma pierre à l'edifice, j'ai testé mon programme sur le PC d'un collègue. Malgré le fait que sur le miens j'ai des "?????????" à la place de caractère japonais, sur le siens, les caractères s'affiche normalement !

Donc en fait, je me rend compte que je n'ai plus vraiment besoin de cette fonction spéciale...à moins que ce soit le fait que Excel 2014 support l'unicode comme dit plus haute ???
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…