Replace(TestName, Chr$(63), " ", 1) ne fonctionne pas

  • Initiateur de la discussion Initiateur de la discussion acognard
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

acognard

Guest
Bonjour, j'ai 1 string TestName qui contient ceci "Création d?un magasin par l?interface Base Générique". Je dois remplacer les '?' (chr$64) par des spaces.
La fonction est correcte sur tous les autres types de car spéciaux que je peux rencontrer ('/><*%...), mais le ? n'est pas remplacé !

j'ai d'abord essayé strOutput = Replace(TestName, "?", " "). Mais sans succès

QQ1 aurait 1 solution ?
Merci

ex qui fonctionnent:
strOutput = Replace(strOutput, "|", " ")
strOutput = Replace(strOutput, "*", " ")
strOutput = Replace(strOutput, "%", " ")
strOutput = Replace(strOutput, "'", " ")
strOutput = Replace(strOutput, "/", "_")
strOutput = Replace(strOutput, " \ ", "\")
strOutput = Replace(strOutput, " \", "\")
strOutput = Replace(strOutput, "\ ", "\")
strOutput = Replace(strOutput, ":", " ")
 
Re : Replace(TestName, Chr$(63), " ", 1) ne fonctionne pas

Bonjour acognard
C'est bizarre. Ce code a l'air de fonctionner :
Code:
Sub toto()
Dim a, b
   a = "az?e??rty"
   b = Replace(a, "?", " ")
   MsgBox a & vbLf & b
End Sub
Essayez, pour voir...​
ROGER2327
 
Re : Replace(TestName, Chr$(63), " ", 1) ne fonctionne pas

Slt ROGER2327,
j y comprends rien, oui ca fonctionne chez moi aussi. voila le code complet:
Code:
Function ReplaceQCException(TestName as string) as string

    Dim strOutput As String
    
    'Replace all  tag matches with the empty string

        'strOutput = Replace(TestName, Chr$(63), " ", 1)
        
    strOutput = Replace(TestName, "?", " ")
    strOutput = Replace(strOutput, "<", " ")
    strOutput = Replace(strOutput, ">", " ")
    strOutput = Replace(strOutput, "|", " ")
    strOutput = Replace(strOutput, "*", " ")
    strOutput = Replace(strOutput, "%", " ")
    strOutput = Replace(strOutput, "'", " ")
    strOutput = Replace(strOutput, "/", "_")
    strOutput = Replace(strOutput, " \ ", "\")
    strOutput = Replace(strOutput, " \", "\")
    strOutput = Replace(strOutput, "\ ", "\")
    strOutput = Replace(strOutput, ":", " ")

    strOutput = Trim(strOutput)
    
    ReplaceQCException = strOutput    'Return the value of strOutput
End Function

Merci.
NoNo
 
Dernière modification par un modérateur:
Re : Replace(TestName, Chr$(63), " ", 1) ne fonctionne pas

Bonjour,
dans ce cas, ces peut etre les options Excel ????
j'ai intercalé ce code, et c bien le car ? de valeur ascii 63 qui est trouvé. Mais rien n'y fait...
Code:
    For i = 1 To Len(TestName) - 1
        sstr = Right(Left(TestName, Len(TestName) - i), 1)
        Valeur = Asc(sstr)
        
    Next

Dans ma cellulle, je vois des car spéciaux (le fameux carré) à la place des ?.

cdlmnt
NoNo
 
Dernière modification par un modérateur:
Re : Replace(TestName, Chr$(63), " ", 1) ne fonctionne pas

Bonjour Roger2327, Acognard

Bonjour, j'ai 1 string TestName
Ah, yes et ou c'est que ça s'achète 😉😛😀

C'était juste comme ça, car je n'ai pas compris le problème 😕
La fonction est correcte sur tous les autres types de car spéciaux que je peux rencontrer ('/><*%...), mais le ? n'est pas remplacé !
puis
Code:
Sub toto()
Dim a, b
   a = "az?e??rty"
   b = Replace(a, "?", " ")
   MsgBox a & vbLf & b
End Sub
et
Slt ROGER2327,
j y comprends rien, oui ca fonctionne chez moi aussi
Alors ou est le problème !?

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour