XL 2019 supprimer la dernière ligne d'une textbox

youguybass

XLDnaute Junior
Bonjour
Dans une textbox (multiligne) je voudrais supprimer la dernière ligne.

j'ai essayé de compter le nb de lignes avec une variable "Del"
Del=textbox1.LineCount → cela ne marche pas

est ce que quelqu'un aurait une solution?

D'avance merci
 
Solution
Bonjour youguybass, p56, le forum,

Si les lignes de TextBox1 sont toutes séparées par le double caractère vbCrLf exécutez :
VB:
Dim n%
n = InStrRev(TextBox1, vbCr)
If n Then TextBox1 = Left(TextBox1, n - 1)
Sinon je ne vois pas de solution.

A+
Bonjour et merci du temps passé
Je n'ai pas de double caractère vbCrLf
La solution de P56 marche sur mon fichier ou j'avais la dernière ligne de ma tbx qui était vide
j'ai juste remplacé
Me.TextBox5.Value = Left(S, Len(S) - 1) par Me.TextBox5.Value = Left(S, Len(S) - 2)
et cela fonctionne
Bonne journée

p56

XLDnaute Occasionnel
Bonjour,
Un textbox multilignes contient des retours chariots (vbcrlf), il suffit de spliter pour distinguer chaque lignes.
Pour gommer la dernière ligne d'un textbox5 on peut écrire un truc du genre :
VB:
Dim T As Variant, S As String, i As Byte
    
    T = Split(Me.TextBox5.Value, vbCrLf)
    For i = 0 To UBound(T) - 1
        S = S & T(i) & vbCrLf
    Next i
    Me.TextBox5.Value = Left(S, Len(S) - 1)
P.
 

job75

XLDnaute Barbatruc
Bonjour youguybass, p56, le forum,

Si les lignes de TextBox1 sont toutes séparées par le double caractère vbCrLf exécutez :
VB:
Dim n%
n = InStrRev(TextBox1, vbCr)
If n Then TextBox1 = Left(TextBox1, n - 1)
Sinon je ne vois pas de solution.

A+
 

youguybass

XLDnaute Junior
Bonjour youguybass, p56, le forum,

Si les lignes de TextBox1 sont toutes séparées par le double caractère vbCrLf exécutez :
VB:
Dim n%
n = InStrRev(TextBox1, vbCr)
If n Then TextBox1 = Left(TextBox1, n - 1)
Sinon je ne vois pas de solution.

A+
Bonjour et merci du temps passé
Je n'ai pas de double caractère vbCrLf
La solution de P56 marche sur mon fichier ou j'avais la dernière ligne de ma tbx qui était vide
j'ai juste remplacé
Me.TextBox5.Value = Left(S, Len(S) - 1) par Me.TextBox5.Value = Left(S, Len(S) - 2)
et cela fonctionne
Bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 184
Messages
2 086 008
Membres
103 089
dernier inscrit
johnjohn1969