Autres [RÉSOLU] Souligner texte VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

un internaute

XLDnaute Impliqué
Bonjour le forum
Dans la macro ci-dessous je voudrais souligner CB: & Chq:
Voir peut-être aussi si je peux "jouer" sur l'épaisseur du trait de soulignement mais si trop compliqué ne pas "s'acharner" dessus (pour épaisseur du trait)
Merci pour vos éventuels retours
Cordialement

Mais je ne sait pas faire
VB:
Option Explicit
Dim Ligne As Long
Dim Msg As String

Private Sub Opb100_Click()
  Me.TbMontant.Visible = False
  Me.LbMontant.Visible = False
  With Range("I" & Ligne)
    .Value = 1
    .NumberFormat = "00 %"
    End With
    Columns("I").AutoFit
End Sub

Private Sub OpbCB_Click()
  Me.TbMontant.Visible = True
  Me.LbMontant.Visible = True
  Msg = "CB: "
  With Range("I" & Ligne)
    .Value = Msg & Format(Replace(Me.TbMontant, ".", ","), "#,##0.00 €")
    .NumberFormat = "@"
    End With
    Columns("I").AutoFit
End Sub

Private Sub OpbChèque_Click()
  Me.TbMontant.Visible = True
  Me.LbMontant.Visible = True
  Msg = "Chq: "
  With Range("I" & Ligne)
    .Value = Msg & Format(Replace(Me.TbMontant, ".", ","), "#,##0.00 €")
    .NumberFormat = "@"
    End With
    Columns("I").AutoFit
End Sub

Private Sub TbMontant_Change()
  With Range("I" & Ligne)
    .Value = Msg & Format(Replace(Me.TbMontant, ".", ","), "#,##0.00 €")
    .NumberFormat = "@"
    End With
    Columns("I").AutoFit
End Sub

Private Sub TbMontant_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
 If InStr(1, "0123456789.,", Chr(KeyAscii)) = 0 And KeyAscii <> 8 Then
    KeyAscii = 0
 End If
End Sub

Private Sub UserForm_Initialize()
  Ligne = ActiveCell.Row
  Me.TbMontant.Visible = False
  Me.LbMontant.Visible = False
  Me.LbLigne.Caption = "Ligne " & Ligne
End Sub
 
Bonjour,

A tester :
VB:
Private Sub OpbCB_Click()
  Me.TbMontant.Visible = True
  Me.LbMontant.Visible = True
  Msg = "CB : "
  With Range("I" & Ligne)
    .Value = Msg & Format(Replace(Me.TbMontant, ".", ","), "#,##0.00 €")
    .Characters(1, 4).Font.Underline = True
    .NumberFormat = "@"
    End With
    Columns("I").AutoFit
End Sub

VB:
Private Sub OpbChèque_Click()
  Me.TbMontant.Visible = True
  Me.LbMontant.Visible = True
  Msg = "Chq : "
  With Range("I" & Ligne)
    .Value = Msg & Format(Replace(Me.TbMontant, ".", ","), "#,##0.00 €")
    .Characters(1, 5).Font.Underline = True
    .NumberFormat = "@"
    End With
    Columns("I").AutoFit
End Sub
 
T'es sûr que tu as bien recopié les deux macros ?



Si tu ne mets pas l'espace insécable avant le caractère ":", tu dois alors retrancher un au nombre de caractères à souligner et donc mettre respectivement 3 et 4 à la place de 4 et 5.

VB:
Private Sub OpbCB_Click()
  Me.TbMontant.Visible = True
  Me.LbMontant.Visible = True
  Msg = "CB: "
  With Range("I" & Ligne)
    .Value = Msg & Format(Replace(Me.TbMontant, ".", ","), "#,##0.00 €")
    .Characters(1, 3).Font.Underline = True
    .NumberFormat = "@"
    End With
    Columns("I").AutoFit
End Sub

VB:
Private Sub OpbChèque_Click()
  Me.TbMontant.Visible = True
  Me.LbMontant.Visible = True
  Msg = "Chq: "
  With Range("I" & Ligne)
    .Value = Msg & Format(Replace(Me.TbMontant, ".", ","), "#,##0.00 €")
    .Characters(1, 4).Font.Underline = True
    .NumberFormat = "@"
    End With
    Columns("I").AutoFit
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
332
Réponses
2
Affichages
371
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
481
Réponses
2
Affichages
410
Retour