Texte formulaire avec lien cliquable

Bonjour à tous,

Je cherche à reproduire cela dans un formulaire.

image

Mais pour avoir le lien cliquable sur le texte, je n'ai pas trouvé.

J'en suis donc là pour le 1er lien.

image

Le fichier (Il faut cliquer sur le bouton "présentation" en onglet "page1").

24declaration-tva.xlsm (154.42 Ko)

Merci

Bonjour,

Ce n'est pas vraiment possible malheureusement. Les controles ne contiennent que du texte "brut". Cependant, vous pouvez utiliser quelques astuces pour contourner le problème, en jouant sur les Event de vos controles.

Par exemple vous détectez un click sur le label contenant votre hyperlien, via Label.Click event (Access) | Microsoft Learn ("Sub Label_Click()"), et dans ce sub vous ouvrez le lien web. La limite vous l'aurez deviné, c'est qu'il n'y a qu'un seul event par textbox, donc a priori 1 seul lien ouvrable par ouvrable).

Une alternative est de récupérer la position de la souris lors du click, et suivant certaines positions prédéterminées, ouvrir tel ou tel lien.

Ces events permettent de récupérer la position de la souris : MouseDown, MouseUp events | Microsoft Learn

Personnellement je pense l'event du clic sur controle (label ou autre) plus simple.

Bonjour,

ci-jointe une solution avec un clic sur label :

11declaration-tva1.xlsm (140.76 Ko)

Merci pour vos réponses.

Bravo Thev

Re,

Je ne comprends pas le code

     Me.TextBox1.Value = tb1.DataBodyRange(1, 2).Value & Chr(10) & tb1.DataBodyRange(2, 2).Value & Chr(10)
     With ws1
        Me.Lien1 = .Hyperlinks(1).TextToDisplay
        Me.Lien1.ControlTipText = .Hyperlinks(1).Address
     End With

Comment il va chercher l'adresse dans la 3ème colonne ?

Je ne saurais pas le faire pour les autres liens.

Je ne comprends pas le code

Il va chercher l'adresse à partir de l'hyperlien présent dans la 3ème colonne. Avec ce code plus élaboré, cela devrait être plus clair

Private Sub UserForm_Initialize()
    Dim tb1 As ListObject
    Dim hyperlien As Hyperlink

    Application.ScreenUpdating = False
    Set tb1 = [Tablo1].ListObject
    Set ws1 = tb1.Range.Worksheet

    'texte Notice
     Me.TextBox1.Value = tb1.DataBodyRange(1, 2).Value & Chr(10)
     Me.TextBox1.Value = Me.TextBox1.Value & tb1.DataBodyRange(2, 2).Value & Chr(10)
     With ws1
        For Each hyperlien In .Hyperlinks
            If hyperlien.Range.Address = tb1.DataBodyRange(2, 3).Address Then
                Me.Lien1 = hyperlien.TextToDisplay
                Me.Lien1.ControlTipText = hyperlien.Address
            End If
        Next hyperlien
     End With

    Application.ScreenUpdating = True
End Sub

Merci, mais çà marche pas pour le 2éme lien. Il est paramétré ou ce Me.lien1 ?

Merci

Les liens se trouvent dans le formulaire dans la zone de texte.

Bonjour,

Je recopie ton textbox et un lien, comment tu fait dans visual basic pour :

- Aller à la ligne ou que le texte soit calé à la 1ere ligne.

- Que le lien (ici 'Professionnels') apparaisse en lien bleu dans l'UF.

image

Merci

Bonjour,

Pour retour à la ligne : ajouter le Chr(10)

Me.TextBox1.Value = Me.TextBox1.Value & Chr(10)

Pour mettre en bleu le lien :

image
Rechercher des sujets similaires à "texte formulaire lien cliquable"