ld40
Messages postés336Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention22 février 20191 27 oct. 2003 à 09:12
ton code est valable pour un séparateur [espace].
mais parfois les séparateurs sont des caractères ascii invisibles du style chr(0) , chr(9) etc...
si debug.print ne donne rien , essaye de recopier ta variable dans un éditeur hexadécimal pour voir ce qu'il en est.
ou sinon essaye à tout hasard de remplacer dans ton code " " par chr(0)
cs_HatMan
Messages postés141Date d'inscriptiondimanche 25 août 2002StatutMembreDernière intervention11 février 2004 27 oct. 2003 à 10:48
jai prit un séparateur chr(10) (fin de ligne envoyer a lutilisateur) et je lé suivit de mon code avec lespace, le problemme cest ke je ne sait pas comment on vois le nombre total de caractere chr(10) dans tout le text, comment doije don cfaire ?
ld40
Messages postés336Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention22 février 20191 27 oct. 2003 à 13:55
comme je te l'ai dit, il faudrait trouver un editeur qui te retourne le code ascii de chaque caractere de ta chaine. (UltraEdit fait ça très bien).
Si tu n'en as pas, tu peux te bricoler un code du style:
'_____________________________________________
Private Sub Command1_Click()
Dim compteur As Integer
Dim k As Integer
Dim fic As String
Dim tablo
fic = "fichiertmp.txt"
'###ici texte à analyser >>>
aff = "pipo et charlie "
k = FreeFile
Open fic For Output As #k
For compteur = 1 To Len(aff)
Print #k, Mid(aff, compteur, 1) + " =chr(" + Trim(Str(Asc(Mid(aff, compteur, 1)))) + ")" + Chr(13) + Chr(10)
Next
Close #k
'###Edition d'un fichier résultat sous notepad
Shell "notepad.exe " + fic, vbNormalFocus
Kill fic
End Sub
'______________________________________________________
le caractere [espace] est le chr(32)
si tu observes d'autres caractères inattendus, il faut les remplacer par chr(32) avant le traitement par split.
Exemple:
le code suivant permet de remplacer le 11 premiers caractères de la table ascii éventuellement rencontrés dans ta chaine par chr(32)
'______________________________________________________
Dim caractere_qui_sera_remplace As String
Dim nouveau_caractere As String
dim numchr
nouveau_caractere = " " 'chr(32)
for numchr=0 to 10
caractere_qui_sera_remplace = Chr(numchr)
Do Until InStr(1, aff, caractere_qui_sera_remplace) = 0
Mid(aff, InStr(1, aff, caractere_qui_sera_remplace), 1) = nouveau_caractere
Loop
next
'_______________________________________________________