Remplacer les caractères Unicode dans Access

De Vulgum Techus
(Redirigé depuis Remplacer unicode dans VBA)
Aller à : Navigation, rechercher
Lien court vers cette page : https://vt.cx/RcUA
QR code vers cette page : https://vt.cx/RcUA.qr

Mots-clé

Présentation

Le remplacement de caractères Unicode dans une chaîne de caractère à l'aide de VBA sur Access est relativement simple sous réserve de connaître les particularités décrites dans le présent article.

Procédure

Dans VBA il n'est pas possible de coller les caractères Unicode dans une fonction telle que Remplace comme on peut le faire avec un code ASCII. Il faut donc contourner le problème en utilisant la fonction texte ChrW qui convertit un code numérique dans son caractère Unicode. Dans le cas, par exemple, du remplacement du caractère Ω dans une chaîne quelconque voici par ordre les étapes nécessaires :

  • Trouver le code en décimal ou en hexadécimal du caractère Ω. Ceci peut se faire de plusieurs façons possibles :
    • Utiliser la table des caractères ou un programme équivalent
    • Aller sur le site Unicode (https://www.unicode.org/charts/charindex.html) et chercher dans les listes des polices disponibles le nom et le code du caractère recherché
  • A ce stade on a pu déterminer que le code de Ω est 3A9 en hexadécimal
  • On peut convertir en décimal à l'aide de la calculatrice Windows en mettant le mode programmeur. Pour le caractère Ω cela donne 937 en décimal
  • On peut maintenant intégrer ChrW() dans la fonction Replace de la manière suivante :
variable1 = Replace(variable2, ChrW(937), "Oméga")
  • Ainsi dans le cas ou le contenu de variable2 sera "j'aime le caractère Ω" on obtiendra en variable1 la chaîne "j'aime le caractère Oméga"
  • Pour terminer, voici la même opération avec le code indiqué en hexadécimal :
variable1 = Replace(variable2, ChrW(&h3A9), "Oméga")

Articles Vulgum Techus

Commentaires

blog comments powered by Disqus