VBA Textbox - Manipulation de caractères et vbcrlf

Bonjour,

Tout d'abord, désolé de ma question, je me prends la tête avec de (certainement) très bête manipulations...

Le souci est que quand on est dedans, on ne voit plus rien.

Je fais donc appel à la communauté pour m'aider sur ce point.

Soi un userform contenant un textbox multiligne et un bouton.

Je veux sélectionner une partie du textbox et, lors d'un clic sur le bouton, ajouter, de part et d'autre de ma sélection, des balises "<N>" et "</N>".

Tout irait pour le mieux, si cela ne devait être fonctionnel dans tous les cas de figure de sélection...

En fait, ce qui me pose souci, je pense, vient des passages à la ligne.

j'utilise vbcrlf, mais s'il faut changer cela, pas de souci.

Je vous ai fait un classeur exemple pour ne pas avoir à le faire...

138classeur1.zip (11.76 Ko)

Par contre, je ne donnerai peut être pas de mes nouvelles ce week end, je suis de garde...

Merci d'avance

A+

Comme quoi...

En utilisant la propriété Seltext et Replace cela semble fonctionner.

Private Sub CommandButton1_Click()
With UserForm1.Controls("TextBox1")
   If .SelStart = Len(.Value) Or .SelLength = 0 Then
      MsgBox "Veuillez sélectionner le texte à formater."
      Exit Sub
   End If
End With
Format_Txt "N"
End Sub

Public Sub Format_Txt(Balise As String)
Dim Valeur$, S%, L%, Cpt%, Quoi$, Par$
Dim PartG$, PartC$, PartD$
   With UserForm1.Controls("TextBox1")
      Valeur = .Value
      S = .SelStart
      L = .SelLength
      Quoi = .SelText
      Par = "<" & Balise & ">" & .SelText & "</" & Balise & ">"
      .Value = Replace(Valeur, Quoi, Par)
   End With
End Sub

Il suffira certainement d'ajouter un test pour le cas ou tout le textbox serait sélectionné, cela ne semble pas fonctionner sur mon vieil excel...

A voir.

En tout cas résolu.

A+

Rechercher des sujets similaires à "vba textbox manipulation caracteres vbcrlf"