Suppression de caractères

Résolu
arsene12 Messages postés 9 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 7 septembre 2011 - 7 sept. 2011 à 20:11
 Utilisateur anonyme - 11 sept. 2011 à 14:23
Bonsoir,
Je cherche à éliminer d'une chaîne tous les caractères autres que les lettres de l'alphabet de A à Z et les dix chiffres de 0 à 9. Auriez-vous une idée du code?

7 réponses

cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 55
7 sept. 2011 à 20:36
Bonsoir

Qu'as tu déja écrit ?
comment penses tu procéder ?
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
7 sept. 2011 à 21:06
Qu'as tu déja écrit ?
comment penses tu procéder ?


"Good question"
juste pour savoir... même avec un simple algo ... juste pour savoir ...
un coup de pouce : les fonctions Asc, Chr, et Mid ... ===>> un peu d'effort, maintenant .

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 77
7 sept. 2011 à 23:35
Salut

Oui, pour être efficace, il faut connaitre les instructions de base :
- Len pour la longueur de ta chaine
- For Next pour faire une boucle
- Mid pour isoler un caractère dans une chaine
- Asc pour connaitre le code ASCII d'un caractère
- Chr pour tansformer un code ASCII en caractère
Le reste, les explications et les exemples, est dans l'aide et dans tes propres essais.
Conseil : Charge, lis et analyse des codes parmi celles du site qui traitent de chaine de caractères : tu y trouveras forcement un exemple proche de ce que tu cherches à faire.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
Utilisateur anonyme
11 sept. 2011 à 13:47
Salut tout le monde,

Un petit coup de main...

Dim Str, Texte As String
Dim CodeAscii, i As Integer
Str = "ml IOLk mk654'/*: ;,?ù^%mùlùFJ Csd s82"
Texte = ""
For i = 1 To Str.Length
CodeAscii = (Asc(Mid(Str, i, 1)))
If (CodeAscii > 47 And CodeAscii < 58) Or _
(CodeAscii = 32) Or _
(CodeAscii > 64 And CodeAscii < 91) Or _
(CodeAscii > 96 And CodeAscii < 123) Then
Texte = Texte & Chr(CodeAscii)
End If
Next i
Me.Text = Str & " - " & Texte



CF2i - Guadeloupe
Ingénierie Informatique
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
11 sept. 2011 à 13:50
Pardon,
La ligne 'For i = 1 To Str.Length' je crois qu'en VB6 sera:
For i = 0 To Len(Str) -1

CF2i - Guadeloupe
Ingénierie Informatique
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
11 sept. 2011 à 14:12
Bonjour acive,

gaffe : Str est un mot réservé sous VB6
Bon...
Je pense que suffisamment de temps s'est écoulé maintenant et que l'on peut en effet proposer une/des solution(s).
En voilà une entre autres ===>>
chaine = "ml IOLk mk654'/*: ;,?ù^%mùlùFJ Csd s82"
tabl = Split(StrConv(chaine, vbUnicode), Chr(0))
For i = 0 To UBound(tabl)
  If Not UCase(tabl(i)) Like "[A-Z]" Or IsNumeric(tabl(i)) Then tabl(i) = ""
Next
MsgBox Join(tabl, "")



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Utilisateur anonyme
11 sept. 2011 à 14:23
Merci UC...
Désolé mes CDs d'installation de VB6 sont morts (ils ont un peu d'âge ) et ma mémoire aussi.
J'aurais voulu simplifier le code comme t'as fait, mais sans VB6 c'est pas évident...



CF2i - Guadeloupe
Ingénierie Informatique
0