Remplacer les caractères Unicode dans Access : Différence entre versions
De Vulgum Techus
(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 | + | 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 | + | * On peut maintenant intégrer ChrW(<code>) dans la fonction Replace de la manière suivante : |
− | variable1 = | + | 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 | + | * 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 = | + | 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é
- Remplacer unicode dans VBA
- Chercher et remplacer des codes Unicode dans Access
- Replace Unicode chars in Access
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")