XL 2016 VBA : Supprimer le caractère "?" qui encadre la propriété "Dimensions" d'un fichier image

crocrocro

XLDnaute Occasionnel
Bonjour,
dans mon code, après avoir récupéré la propriété "Dimensions d'un fichier image", je veux éliminer le caractère "?" qui encadre la propriété.
La fonction Replace ne le fait pas.
Je me suis dit que le caractère "?" que l'on visualise, en debug par exemple ne l'est pas vraiment : Apparemment si, le code ascii (63) est bien celui du point d'interrogation.
Peut-être que "?" est interprété comme le caractère joker : non, le Replace avec la valeur 'en dur' de la propriété est opérationnel.
Je dois faire une erreur quelque part, mais je ne vois pas où. Si quelqu'un a une idée ...
Merci d'avance
Quelques précisions :
Sans avoir tenté le Replace, si j'affiche la propriété "Dimensions dans une cellule, il n'y a pas les "?", ce qui me fait tout de même penser à un caractère spécial (mais contredit par le test avec la fonction Asc.
Je ne souhaite pas (le code étant utilisé pour toutes les propriétés des fichiers) faire un code spécifique à la propriété en éliminant ici le 1er et le dernier caractère par la fonction Mid.
Voir le code ci-dessous
VB:
Sub Test()
Dim ValProp As String
Dim objShell As Object
Dim objFolder As Object
Dim strFileName As Object
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(ThisWorkbook.Path)
    Set strFileName = objFolder.Items.Item(CStr("Image1.jpeg"))  ' -> "Image1.jpeg" est un fichier sur le même répertoire que le classeur
    ValProp = objFolder.GetDetailsOf(strFileName, 31)
    ValProp = CStr(objFolder.GetDetailsOf(strFileName, 31))
    ValProp = Replace(ValProp, "?", "")
    '''ValProp = Application.Substitute(ValProp, "?", "")
   ''' ValProp = Application.WorksheetFunction.Substitute(ValProp, "?", "")
    MsgBox "ValProp : " & ValProp & " -> " & Replace(ValProp, "?", "") & vbCrLf _
            & "En dur : ?3000 x 2000?  -> " & Replace("?3000 x 2000?", "?", "") & vbCrLf _
            & "Code Ascii de 1er caractère de ValProp (" & ValProp & ") : " & Asc(Left(ValProp, 1)) & vbCrLf _
            & "Code Ascii de ? : " & Asc("?")
End Sub
 
Dernière édition:

crocrocro

XLDnaute Occasionnel
Pour TooFatBoy,
je suis allé très vite dans mon post #5 pour éviter que des personnes cherchent inutilement.
Mais oui, sans ta suggestion AscW, je tournerai encore en rond et je ne pouvais pas mettre ta réponse directement comme solution.
Merci à toi
 

Discussions similaires

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh