Microsoft 365 Mise en forme lien hypertexte dans Useform

marie3107

XLDnaute Nouveau
Bonjour,

J'ai créé une macro Excel me permettant dans la TextBox d'une Userform de renvoyer un lien hypertexte (dont celui-ci est renseigné/enregistré dans une feuille "base de données"). Ci-après ma macro :

Private Sub TextBox5_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
If TextBox5 <> "" Then ActiveWorkbook.FollowHyperlink TextBox5.Value, , True
Sortie_sur_erreur:
End Sub


Cependant, dans certains cas de figure, aucun lien hypertexte n'est renseigné dans la TextBox car non présent dans ma base de donnée (ex : j'ai juste mis "blabla" dans ma base de données et aucun renvoie à un lien hypertexte).
Ainsi, je souhaiterais développer ma macro et/ou en construire une autre me permettant de mettre en forme ma TextBox afin de mettre en forme ma TextBox de ma Userfomr uniquement lorsqu'un lien hypertexte est rattaché (en bleu et souligné).
En d'autres termes, lorsqu'un "blabla" apparait dans ma userform (car pas de lien), le texte reste en noir.

Merci d'avance pour votre retour.
 

p56

XLDnaute Occasionnel
Bonjour,

Alors voici un extrait d'un de mes codes, ici pour un textbox contenant éventuellement une adresse mail :
VB:
Private Sub TextBox12_Change()   ' Adresse mail
Dim S As String

    With Me.TextBox12
        S = .Value
        If InStr(1, S, "@") > 0 And InStr(1, S, ".") > 0 Then
            .ForeColor = RGB(0, 0, 255)
            .Font.Underline = True
        Else
            .ForeColor = &H80000008
            .Font.Underline = False
        End If
    End With
End Sub
    

Private Sub TextBox12_DblClick(ByVal Cancel As MSForms.ReturnBoolean)   ' envoi mail
Dim S As String

    S = Me.TextBox12.Value
    If InStr(1, S, "@") > 0 And InStr(1, S, ".") > 0 Then
        Envoi_Mail S, "", ""
    End If
End Sub
(Et ici pas de Error resume next ...)
P.
 

marie3107

XLDnaute Nouveau
Merci pour ce code, adapté à ma macro ça marche super ! :)

Je vais néanmoins chipoter un petit peu plus. En fait, j'aimerais que la mise en forme de ma TextBox s'affiche dès que je vais sur la UserForm.
Telle que construite, la macro me permet d'avoir la mise en forme souhaitée mais uniquement lorsque je clique sur le lien hypertexte de la TextBox justement....

Merci encore pour votre retour.

PS : j'ai bien enlevé le Error Resume Next ahah !
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 892
Membres
101 831
dernier inscrit
gillec