Retirer soulignement TextBox Userform

1Alexiiis Messages postés 48 Date d'inscription vendredi 14 juin 2013 Statut Membre Dernière intervention 14 décembre 2020 - 14 juin 2020 à 15:33
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 18 juin 2020 à 13:56
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

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
14 juin 2020 à 16:42
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

1Alexiiis Messages postés 48 Date d'inscription vendredi 14 juin 2013 Statut Membre Dernière intervention 14 décembre 2020
16 juin 2020 à 20:18
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) :

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
Modifié le 17 juin 2020 à 08:22
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
0
1Alexiiis Messages postés 48 Date d'inscription vendredi 14 juin 2013 Statut Membre Dernière intervention 14 décembre 2020
17 juin 2020 à 15:16
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
1Alexiiis Messages postés 48 Date d'inscription vendredi 14 juin 2013 Statut Membre Dernière intervention 14 décembre 2020
18 juin 2020 à 13:05
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 ?
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
18 juin 2020 à 13:56
Essaie de mettre cela dans l’événement de la listBox ou dans la textBox avant changement

TextBox3.Text = ""
0
Rejoignez-nous