Eliminer un caractère caché dans une chaine

Bonjour,

Dans une appli j'utilise une macro qui extrait des données EXIF de photos. Mais tous les nombres sont précédés d'un code LRM (Left-to-Right Mark), que j'ai trouvé grâce à Notepad++. Mais dans Excel ce caractère caché se traduit par un "?" que je n'arrive pas à éliminer de mes chaines. J'ai essayé avec Replace(Chaine, "?","") mais en fait ce "?" n'est que la traduction d'un code inconnu. Le code à éliminer est "E2808E" en hexa. Par exemple une date comme 14/05/2023 se traduit en hexa par E2808E 3134 2F E2808E 30 35 2F E2808E 32303233.

Comment "nettoyer" les chaine de ces intrus ? Peut-être limiter les chaines avec uniquement de l'ASCII pur (codes < 128) ; mais comment faire ?‎

Une idée ? Merci d'avance.

Bonsoir Botanicus,

Parce que ton extraction se réalise avec le format de données. Au lieu de tenter d'éliminer le caractère de formatage ta macro devrait rechercher les chiffres pour les extraire.

Note que pour les dates, chacun de leurs chiffres sont apparemment précédés par le chiffre 3. Et que 2F remplace le /

Sans la macro actuelle et un extrait de données, impossible d'apporter plus de précisions.

bonjour,

A+

Merci pour vos réponses.

Voici le code tel quel :

Public Sub LireEXIF(Chemin As String, Fichier As String, Ligne As Integer)

'**** Dans Outil/Références cocher "Microsoft Shell Controls and Automation"
' et remonter la priorité ! ****

' Extrait des métadonnées EXIF des photos
' et les intègre dans la feuille Choix photos

Dim Col As Integer, i As Integer
Dim myShell As Shell
Dim myFolder As Folder
Dim myFile As FolderItem
Dim Fich As String

Set myShell = CreateObject("Shell.Application")
Set myFolder = myShell.Namespace(Chemin)

' lit des données Exif du Fichier
Fich = Dir(Chemin & "\" & Fichier)
Set myFile = myFolder.Items.Item(Fich)

'Date de prise de vue et heure (seule la date est conservée)
Cells(Ligne, 7) = Left(myFolder.GetDetailsOf(myFile, 12), 13)

'Appareil photo + distance focale
Cells(Ligne, 8) = (myFolder.GetDetailsOf(myFile, 30) & " - " & myFolder.GetDetailsOf(myFile, 262))

Set myShell = Nothing: Set myFolder = Nothing: Set myFile = Nothing
End Sub
Rechercher des sujets similaires à "eliminer caractere cache chaine"