Ligne blanche textbox

Signaler
Messages postés
20
Date d'inscription
samedi 23 décembre 2000
Statut
Membre
Dernière intervention
27 mars 2009
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
bonjour  à tous,
j'ai une textbox avec plein d'informations que je récupère mais j'ai plein de ligne blanche dedans....je souhaiterai les enlever. J'ai essayé avec des "replace" mais je n'y arrive pas. Pouvez vous m'aidez svp

7 réponses

Messages postés
78
Date d'inscription
samedi 26 août 2006
Statut
Membre
Dernière intervention
25 novembre 2016

L'instruction:




TextBox1.Text = TextBox1.Text.Replace(vbCrLf,




Nothing

)
Le seul probleme n'est pas qu'il t'enleve toutes les interlignes, mais tous les passages à la ligne

Joyeux Noel

DOVAX
Messages postés
78
Date d'inscription
samedi 26 août 2006
Statut
Membre
Dernière intervention
25 novembre 2016

Re je crois avoir trouvé quelque chose, TextBox1.Text = TextBox1.Text.Replace(vbCrLf & vbCrLf,vbCrLf)

Mais le probleme est qu'il faut le renouveler autant de fois que le nombre de interligne maximal
DOVAX
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
salut,



[../auteur/BENJI2000/846808.aspx benji2000]

-> attention tu mélanges du VB6 et du VB.NET. ici la demande est en VB6

une possibilité SI LE TEXTE EST ASSEZ VOLUMINEUX est de passer par un tableau
créé sur les retours chariot, puis on renvoie ce tableau "nettoyé"






Option Explicit




Private Sub 
Command1_Click()

    Text1.Text = GetMonoLinesString(Text1.Text)
End Sub

Function GetMonoLinesString(ByVal sStr As String) As String
    Dim asSrc() As String
    Dim asDest() As String
    Dim iCpt As Integer
    Dim i As Integer
    
'   tableau depuis chaine
    asSrc = Split(sStr, vbCrLf)

'   redim
dest
    ReDim asDest(UBound(asSrc))
    iCpt = LBound(asSrc)

'   pour chaque ligne, si pas vide on sauve
    For i = iCpt To UBound(asSrc)
        If Len(asSrc(i)) Then
            asDest(iCpt) = asSrc(i)
            iCpt = iCpt + 1
        End If
    Next i

'   redim de la bonne
taille
    ReDim Preserve asDest(iCpt - 1)

'   retour
    GetMonoLinesString = Join(asDest, vbCrLf)
    
'  
clear
    Erase asDest
    Erase asSrc
End Function





<small>
[../code.aspx?ID=39466 Coloration VB6, VBA,
VBS]
</small>








Replace en boucle (avec INSTR de vbcrlf & vbcrlf) peut suffir mais consommera plus de ressources
++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
mini correctif

remplacer  :


'   redim dest

    ReDim asDest(UBound(asSrc))
    iCpt = LBound(asSrc)




par :


'   redim dest



    iCpt = LBound(asSrc)


    ReDim asDest(iCpt toUBound(asSrc))






<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
Messages postés
20
Date d'inscription
samedi 23 décembre 2000
Statut
Membre
Dernière intervention
27 mars 2009

Merci bcp [../auteur/PCPT/401740.aspx PCPT], sa marche nickel

bonnes fetes
Messages postés
20
Date d'inscription
samedi 23 décembre 2000
Statut
Membre
Dernière intervention
27 mars 2009

il m'est arrivé des fois d'avoir dans une variable "�3;" à quoi sa correspond? c'est un petit carré...
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
salut,
le carré est un caractère non affichable, il peut avoir plusieurs valeurs.
possible aussi que tes retours chariots ne soient pas des VBCRLF mais juste des VBCR ou VBLF
(valeur 10 ou 13, et non les deux donc)

ps : n'oublie pas de valider la ou les bonnes réponses par le bouton "réponse acceptée"

joyeuses fêtes

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp