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
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: