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

XL 2013 Carcatères Unicode vers arabe / birman / autre

  • Initiateur de la discussion Initiateur de la discussion bool2gom
  • Date de début Date de début

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 !

bool2gom

XLDnaute Junior
Bonjour,

Je récupère des données brutes via SQL, dans un fichier Excel.
Certaines données sont originellement en arabe ou birman.

Résultat, je me retrouve avec cela (équivalent d'un mot)
<U+1031><U+101B><U+1001><U+1032><U+1031><U+101E><U+1010>q<U+102C>=<U+1004><U+1039><U+1037><U+1031><U+101B><U+1001><U+1032><U+1005><U+1000><U+1039><U+1019>:<U+102C><U+1038>

Y'a-t-il un moyen simple de convertir ces valeurs dans la langue originnelle, dans Excel ?
J'ai cherché sur le net mais rien de concret.

Merci,
 
Re : Carcatères Unicode vers arabe / birman / autre

Bonjour.

Ça ressemble à une codification de la table des caractères qui est convenablement convertie par cette fonction perso :
VB:
Option Explicit

Function ConvChr2(ByVal Z As String) As String
Dim T() As String, N&
On Error Resume Next
T = Split(Z, "<U+")
For N = 1 To UBound(T)
   T(N) = ChrW$(CLng("&H" & Left$(T(N), 4))) & Mid$(T(N), 6)
   Next N
ConvChr2 = Join(T, "")
End Function
Le problème c'est que même en police Arial unicode, il n'y a aucun caractère défini dans cette plage &h1000 à &h109F.
 
Re : Carcatères Unicode vers arabe / birman / autre

Après implantation dans un module standard, elle est utilisable dans des cellules. Par exemple: =ConvChr2(A1)
Je l'ai un peu modifiée, renommée et écrit la fonction inverse au cas où…
VB:
Option Explicit

Function StrUPlus(ByVal Z As String) As String
Dim T() As String, N&, P&
On Error Resume Next
T = Split(Z, "<U+")
For N = 1 To UBound(T)
   P = InStr(T(N), ">")
   T(N) = ChrW$(CLng("&H" & Left$(T(N), P - 1))) & Mid$(T(N), P + 1)
   Next N
StrUPlus = Join(T, "")
End Function

Function UPlusStr(ByVal Z As String) As String
Dim P&, Cod&
For P = Len(Z) To 1 Step -1
   Cod = AscW(Mid$(Z, P, 1)) And &HFFFF&
   If Cod > &HFF Then Z = Left$(Z, P - 1) & "<U+" & Right$("0000" & Hex$(Cod), 4) & ">" & Mid$(Z, P + 1)
   Next P
UPlusStr = Z
End Function
 
Re : Carcatères Unicode vers arabe / birman / autre

Bonjour.
Cherchez peut être vos caractères birmans à l'aide de la table des caractères de Windows, mettez en dans une cellule et regardez, à l'aide de ma fonction inverse UPlusStr, comment ils doivent être codés. Vérifiez que la fonction StrUPlus les retrouve bien.
 
Re : Carcatères Unicode vers arabe / birman / autre

Merci

Voici un exemple d'équivalence unicode pour un mot birman
<U+1006><U+102D><U+102F><U+101E><U+100A><U+1039><U+1019><U+103D><U+102C>

Un 2e exemple
<U+1031><U+1014><U+1000><U+102C><U+1019><U+103A><U+1000><U+1039><U+1019><U+103D><U+1014><U+1039> -<U+1031><U+101B><U+108A><U+1021><U+102D><U+102F><U+1031><U+101B><U+102C><U+1004><U+1039>
 
Dernière édition:
Re : Carcatères Unicode vers arabe / birman / autre

Comme je l'ai déjà dit au poste #2, chez moi, aucun caractère n'est défini pour ces valeur dans ma police Arial Unicode MS. J'ai du thibétain jusqu'à U+0FB9 puis ça passe au géorgien en U+10A0.
Mais si de votre coté ils y sont, ou dans une autre police, ça devrait marcher avec cette police là.
 
Dernière édition:
- 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…