Avec quelle logique (s'il y en a une) ?
S'il n'y en a aucune et que c'est toi qui décide du nombre à attribuer à un caractère :
exemple :
Private Sub CommandButton1_Click()
Dim moncar As String
moncar = "@"
MsgBox traduit(moncar)
moncar = "&"
MsgBox traduit(moncar)
moncar = "#"
MsgBox traduit(moncar)
moncar = "c" ' donc un caractère n,ormal
MsgBox traduit(moncar)
End Sub
Private Function traduit(quoi As String) As String
Dim toto As String, tototrad, pos As Integer
toto = "&@#"
tototrad = Array(Chr(0), "1", "2", "3")
pos = InStr(toto, quoi)
If pos Then traduit tototrad(pos) Else traduit quoi
End Function
Maintenant : cet exemple répond à ta question, telle que posée (à savoir comment transformer un caractère par un nombre)
J'espère qu'elle n'était pas finalement autre (du genre "comment remplacer dans une chaîne plusieurs caractères" ) car on ne peut, comme le précise PCPT, s'avancer avec toi au fur et à mesure de précisions données au compte-goutte.
Si le code donné correspond bien à ce que tu cherchais : fort bien
Dans le cas contraire (tu n'avais pas suffisamment exprimé ton voeu) : devine ...
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.