Remplacer les caractères Unicode dans Access : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
(Page créée avec « <!-- Links checked 02/06/19 --> '''Lien court''' vers cette page : https://vt.cx/RcUA '''QR code''' vers cette page : https://vt.cx/RcUA.qr <html> <script async ... »)
 
(Procédure)
 
(Une révision intermédiaire par un utilisateur est masquée)
Ligne 23 : Ligne 23 :
  
 
= Procédure =
 
= 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 chaine quelconque voici par ordre les étapes nécessaires :
+
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 :
 
* 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
 
** Utiliser la table des caractères ou un programme équivalent
Ligne 29 : Ligne 29 :
 
* A ce stade on a pu déterminer que le code de Ω est 3A9 en hexadécimal
 
* 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 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(<code>) dans la fonction Remplace de la manière suivante :
+
* On peut maintenant intégrer ChrW(<code>) dans la fonction Replace de la manière suivante :
  variable1 = remplace(variable2, ChrW(937), "Oméga")
+
  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 chaine "j'aime le caractère 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 :
 
* Pour terminer, voici la même opération avec le code indiqué en hexadécimal :
  variable1 = remplace(variable2, ChrW(&h3A9), "Oméga")
+
  variable1 = Replace(variable2, ChrW(&h3A9), "Oméga")
 +
 
 +
= Articles Vulgum Techus =
 +
* [[Access]]
 +
* [[Unicode]]
 +
* [[ASCII]]
  
 
= Commentaires =
 
= Commentaires =

Version actuelle en date du 9 mars 2020 à 12:08

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