Petit problème avec les espaces ( alors là j'y comprend plus rien :s ) [Résolu]

Signaler
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
-
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
-
Salut,

C'est un problème tellement bête qu'au bout de 2 ans de programmation je met ce problème dans la partie débutant.
je vous explique. Je dois lire un RichTextBox ligne par ligne et supprimer les espaces et début et de fin de chaîne, j'ai donc fait ça :

For Each ligne As String In Me.RichTextBox1.Lines
            ligne = Trim(ligne)
            MsgBox(ligne)
Next

Mais voila, dans le MsgBox, les espaces sont toujours là, comment ça se fait?
Un peux d'aider svp parce que là j'y comprend plus rien

*** ebaudoux@club.fr ***
*** http://www.velersoftware.fr.nf/ ***

12 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
salut,

en bon dot netien que je ne suis pas, suffisait d'ouvrir l'aide, et j'ai trouvé ça (un poil d'adaptation mais guère plus) :

        Dim counter As Integer
        Dim tempArray() As String
    tempArray = RichTextBox1.Lines

    For counter = 0 To tempArray.GetUpperBound(0)
        MessageBox.Show(Trim(tempArray(counter)))
    Next

~
<small>Mortalino ~ [code.aspx?ID=39466 Colorisation
automatique]</small>

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
3
Non, le résultat est le même, il y a toujours les espaces, c'est étrange =s

*** ebaudoux@club.fr ***
*** http://www.velersoftware.fr.nf/ ***
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonsoir,

Trim supprime les espaces...
Qui te dit que ce sont des espaces, hein ?
Pour le savoir :
Une analyse de la valeur ascii du 1er et du dernier caractère de ta chaîne et tu sauras (et çà, c'est faciule, non ?)...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
mortalino ,t'as fait pareil que notre ami, au final (en pire^^)
tu as recopié ton tableau dans un autre, et tu y as accédé en utilisant un indice numérique...

les itérateurs (For Each) sont bien plus rapide a faire cette tache.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
55
Salut à tous,
Petite question.

Comment avec un simple Msgbox(Ligne) tu arrives à voir qu'il y a encore des espaces?

j'aurais plutôt essayer ceci pour tester "réellement" si les espaces sont là

For Each ligne As String In Me.RichTextBox1.Lines
   ligne = Trim(ligne)
   MsgBox ("|" & ligne & "|")
Next
, ----
[code.aspx?ID=41455 By Renfield]

PS: ton code fonctionne très bien. En revanche si tu souhaitais que la suppression des espaces se répercute dans la richtextbox, c'est sur que cela ne fonctionne pas.

PPS: sinon peu être faut il regarder de plus près les caractères comme te le propose [auteur/JMFMARQUES/615490.aspx jmfmarques]
@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Renfield : c'est pas vraiment mon code , c'est celui de Microsoft dans MSDN
J'ai juste viré le Writeline et remplacé par Messagebox.show

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
3
Salut,

En effet il doit y avoir une histoire de caractère plutôt que d'espace. Mais comment dois-je faire ça?

*** ebaudoux@club.fr ***
*** http://www.velersoftware.fr.nf/ ***
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
If

(doc.Text.Contains(


" "

))


Then


doc.Text = Trim(doc.Text)








End





If
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
"C'est un problème tellement bête qu'au bout de 2 ans de programmation ..."
et :

"En effet il doit y avoir une histoire de caractère plutôt que d'espace. Mais comment dois-je faire ça?"


me laissent perplexe (pour le moins !)
en d'autres vtermes : tu ne sais pas isoler le 1er caractère et le dernier caractère d'une chaine et afficher la valeur ascii de chacun de ces deux caractères ???
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
3
Salut,

Ici, Gillardg, on obtient toute toutes les lignes comportant un espaces, et par contre, il ne supprime toujours pas les espaces en début et fin de chaîne.
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
3
Salut,

J'ai trouvé la solution dans le lien de jmfmarques, j'ai trouvé ça :

 MsgBox("|" & ligne.Trim() & "|")

Et ça fonctionne, je ne comprend pas pourquoi Ligne = Trim(Ligne) ne fonctionne pas mais bon, ça reviens au même quasiment

Voili voila, merci à tous de votre aide

@+