Caractère spécial remplacement VBA

Bonjour,

J'ai besoin de remplacer depuis un fichier CSV un caractère spécial.

Je fais habituellement un copier coller dans rechercher/remplacer, ça fonctionne très bien.

image

Mais afin de travailler plus vite, j'aimerai en faire une macro : Problème, je n'arrive pas à identifier le type de caractère que c'est.

Replace(cell.Value, Chr(160), "") ne fonctionne pas.

20classeur1.csv (12.00 Octets)

je ne pense pas que ce soit un espace insécable, car si je fais mon recherche/remplacer en faisant Alt+255, ça ne fonctionne pas.

Avez-vous déjà vu ce symbole ? J'ai beau chercher je ne trouve pas.

Merci par avance

Bonjour,

A tout hazard, teste avec 32 ou 032

Bonjour à tous !

Et....

Le caractère spécial de l'exemple est car(8239).

A noter, que l'outil idoine à privilégier, pour lire un fichier Csv, est Power Query.

Hello,

le caractère est un NARROW NO-BREAK SPACE , il est composé de 3 octets (en hexa : E2 80 AF)

Que veux-tu en faire ? le supprimer ? le remplacer ?

Et comment veux-tu le traiter ? en VBA ? en Power Query ? avec Notepad++ ?

Ami calmant, J.P

Bonjour

Merci pour vos retours !

J'ai réussi, c'est parfait cell.Value = Replace(cell.Value, ChrW(8239), "")

Mais ma question : comment avez vous trouvé le nom de ce caractère ? Il y a un site ou autre ? Ou vous êtes juste des génies ?

Bonjour à tous de nouveau !

Une simple et rapide analyse des caractères de la cellule :

image

Je vous remercie de ce retour.

===> Ne pas oublier de passer le sujet en mode résolu !

Bonjour à tous ,

Mais ma question : comment avez vous trouvé le nom de ce caractère ? Il y a un site ou autre ?

On peut les apprendre par cœur. Y'en a qui ont essayé ! Ou bien passer par des sites :

  • convertir 8239 en hexa (via la fonction Excel DECHEX) ce qui donne 202F
  • dans la barre d'adresse d'un navigateur, pour aller sur le site coller l'adresse : https://symbl.cc/fr/
  • rechercher la valeur 202F
  • quand le site a trouvé le caractère, cliquer dessus pour avoir sa description complète
image

NotePad++ peut afficher les caractères spéciaux d'un fichier :

nnspcsv

mais en peut aussi avec le plugin Hex-Editor voir le contenu exact du fichier :

hexdump

on s'aperçoit qu'avant le 1 (31) il y a 3 octets ef bb bf qui sont en fait ce qu'on appelle BOM c'est à dire un identificateur de fichier UTF-8 . Ces 3 caractères ne posent pas de problème sauf si on lit directement le fichier csv comme un fichier texte brut. Comment lis-tu ton fichier csv ?

Rechercher des sujets similaires à "caractere special remplacement vba"