Retirer soulignement TextBox Userform

Signaler
Messages postés
47
Date d'inscription
vendredi 14 juin 2013
Statut
Membre
Dernière intervention
18 juin 2020
-
Messages postés
6826
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
6 juillet 2020
-
Bonjour,

Je souhaite modifier l'apparence d'une TextBox en fonction de s'il y a un caractère ou non.
[SI] TextBox3 contient "@" --> couleur bleu + souligner
[SINON]
--> couleur noir + retirer soulignement

Mon problème : Je n'arrive pas à retirer le soulignement. Est ce que quelqu'un aurait une idée svp ?


Voici les 2 codes testés, aucun ne retire le soulignement (ligne 7)
Pourtant les codes me semblent corrects ...

    If TextBox3.Value Like "*@*" Then
        TextBox3.ForeColor = RGB(0, 0, 255)
        TextBox3.Font.Underline = True

    Else
        TextBox3.ForeColor = RGB(0, 0, 0)
        TextBox3.Font.Underline = False
    End If


    If InStr(Me.TextBox3.Value, "@") > 0 Then
        TextBox3.ForeColor = RGB(0, 0, 255)
        TextBox3.Font.Underline = True
    Else
        TextBox3.ForeColor = RGB(0, 0, 0)
        TextBox3.Font.Underline = False
    End If


Merci d'avance pour votre aide !
Alex

4 réponses

Messages postés
6826
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
6 juillet 2020
109
Bonjour,

il faut mettre ton code dans un événement de ta textbox et cela fonctionne!

Option Explicit
Private Sub TextBox3_Change()
If TextBox3.Value Like "*@*" Then
        TextBox3.ForeColor = RGB(0, 0, 255)
        TextBox3.Font.Underline = True
Else
        TextBox3.ForeColor = RGB(0, 0, 0)
        TextBox3.Font.Underline = False
    End If
End Sub

Messages postés
47
Date d'inscription
vendredi 14 juin 2013
Statut
Membre
Dernière intervention
18 juin 2020

Bonjour,

J'avais mis mon code dans différents événements mais ça ne fonctionne pas.
- Evenement Exit de ma TextBox = ne fonctionne pas
- Evenement Change de ma TextBox = ne fonctionne pas
- Evenement Click de ma ListBox = ne fonctionne pas

(Evenement Click de la ListBox car les données des TextBox s'affichent en fonction de la donnée que j'ai sélectionnée dans la ListBox)

Voici le résultat (la couleur se met bien au noir mais le soulignement reste) :

Messages postés
6826
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
6 juillet 2020
109
Aucun problème pour moi avec sélection dans une ListBox:

Option Explicit
Private Sub UserForm_Initialize()
ListBox1.RowSource = "Feuil1!A1:A10"
End Sub
Private Sub ListBox1_Click()
If ListBox1.ListIndex = -1 Then Exit Sub
TextBox3.Text = ListBox1.List(ListBox1.ListIndex)
End Sub
Private Sub TextBox3_Change()
If TextBox3.Value Like "*@*" Then
        TextBox3.ForeColor = RGB(0, 0, 255)
        TextBox3.Font.Underline = True
Else
        TextBox3.ForeColor = RGB(0, 0, 0)
        TextBox3.Font.Underline = False
    End If
End Sub







Voilà

@+ Le Pivert
Messages postés
47
Date d'inscription
vendredi 14 juin 2013
Statut
Membre
Dernière intervention
18 juin 2020

Bonjour,

Ca y est j'ai trouvé, la nuit m'a porté conseil ^^
En mettant 0 à la place de False ça fonctionne…

Private Sub TextBox3_Change()
If TextBox3.Value Like "*@*" Then
        TextBox3.ForeColor = RGB(0, 0, 255)
        TextBox3.Font.Underline = True
Else
        TextBox3.ForeColor = RGB(0, 0, 0)
        TextBox3.Font.Underline = 0   ' --> J'ai changé et mis "0" à la place de "False"
    End If
End Sub


Je serais curieux de savoir pourquoi 0 fonctionne et pas le False, sachant que lorsque l'on code ça propose que 2 options : "True"/"False".


Merci en tout cas d'avoir pris le temps de m'aider, c'est super sympa !

Bonne journée
Alex
Messages postés
47
Date d'inscription
vendredi 14 juin 2013
Statut
Membre
Dernière intervention
18 juin 2020

Bonjour,

Je rectifie, enfaite ça ne fonctionne pas.

C'est un problème de version on dirait...
- A mon travail, j'ai Office 2013 : ça fonctionne
- Chez moi, j'ai Office 365 : ça ne fonctionne pas.

Est ce que tu aurais une idée de comment faire du coup stp ?
Messages postés
6826
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
6 juillet 2020
109
Essaie de mettre cela dans l’événement de la listBox ou dans la textBox avant changement

TextBox3.Text = ""