Début de ligne d'une TetxBox Multiligne "-"

Bonjour à tous,

Je voudrais que chaque ligne de ma TextBox9 commence par le signe "-" (trait d'union pour les anciens ou tiret du 6 pour le plus jeunes).

Merci par avance

Bonjour,

En premier ... dans les propriétés du textbox > mets Multiligne à True ... puis

TextBox9 = "- ric" & Chr(13) & "- djodjo" & Chr(13) & "- forum"

ric

Re,

Désolé, cela ne fonctionne pas.

Si je réécrit dans la Textbox9, mon texte est bien enregistré et non pas:

  • Ric
  • Djodjo
  • Forum
Par contre pas de trait d'union

Bonjour,

Ouupppssss!!!!! ... désolé, je n'ai pas bien saisi ton propos.

Je regarde si je peux faire quelque chose.

ric

Ne t'inquiètes pas ce n'est pas urgent

Merci

Bonjour,

Comment déterminer quand faire un saut de ligne et ajouter le - (tiret) devant cette nouvelle ligne ?

Que penses-tu de l'idée que ce soit basé sur le point ?

La crème. glacé. à la fraise. > deviendrait ...

  • La crème.
  • glacé.
  • à la fraise.

ric

Bonjour,

Il me semble qu'il est possible d'écrire un code qui fait que lorsque l'on frappe ENTRER ou retour chariot et que l'on recommence à écrire alors il nous mets automatiquement le tiret.

Jean-Marie

Bonjour,

Pour un saut de ligne dans un textbox > c'est CTRL+ENTER.

J'y ai pensé ... mais, si tu as oublié un item et que tu l'ajoutes après > ça risque de compliquer les choses.

Il ne faut pas oublier que dans un textebox, il ne peut y avoir que du texte ... même les chiffres sont considérés comme du texte.

Je regarde dans le sens de ta demande.

ric

Bonjour

Voila une solution a voir

Private Sub UserForm_Initialize()
    TextBox9.EnterKeyBehavior = True
    TextBox9.MultiLine = True
End Sub

Private Sub TextBox9_Change()
Dim T, S
    S = TextBox9
    If Right(S, 1) = Chr(10) Then
        S = TextBox9
    If Mid(S, 1, 2) = Chr(45) & " " Then S = Mid(S, 3)
        S = Replace(S, Chr(45) & " ", "")
        T = Split(S, Chr(10))
        TextBox9 = Chr(45) & " " & Join(T, Chr(45) & " ")
        TextBox9.SelStart = Len(TextBox9)
    ElseIf Mid(S, 1, 2) <> Chr(45) & " " Then
        S = Chr(45) & " " & S
        TextBox9 = S
        TextBox9.SelStart = Len(TextBox9)
    End If
End Sub

A+

Maurice

Bonjour,

J'avais un temps ce code, mais qui ne semble plus fonctionner:

Private Sub TextBox1_Change()Dim s, i%s = Split(TextBox1, vbCrLf)For i = 0 To UBound(s)  s(i) = LTrim(s(i))  If Left(s(i), 1) = "-" Then s(i) = LTrim(Mid(s(i), 2))  If s(i) <> "" Then s(i) = "- " & s(i) 'ici dans (="" ) l'on saisie ce que l'on veutNextTextBox1 = Join(s, vbCrLf)End Sub

Si cela te dis quelques choses

Bonne journée

Jean-Marie

Bonjour Archer, Ric, et le autres,

Archer, effectivement cela fonctionne parfaitement à première vue, je vais tester plus profondément et revient vers vous

Merci beaucoup

Jean-Marie

Rechercher des sujets similaires à "debut ligne tetxbox multiligne"