VBA lien hypertexte dans une TextBox

david84

XLDnaute Barbatruc
Bonjour,
J'utilise un USF qui me sert à renseigner différentes infos concernant une association (adresse, commune et CP, N° tel, adresse mail,...).

Je voudrais que lorsqu'une personne saisisse l'adresse mail de l'association dans sa zone de texte, que le lien soit rendu actif afin qu'il puisse le cas échéant envoyer un mail à l'association.

J'ai tenté d'intégrer un bout de code dans ma macro, soit
Code:
Private Sub Mail_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Mail As Variant
Instructions...
    Mail= Mail.Text.Hyperlinks.Add Anchor:=Mail.Text, Address:=Mail.Text    
 End Sub

ou bien

Code:
Private Sub Mail_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Mail As Variant
Instructions...
    With Mail.Text
    .Hyperlinks.Add Anchor:=.Mail.text, _
    Address:=Mail.text, _
    End With
End Sub

Dans les 2 cas apparaît le message : "Erreur de compilation : erreur de syntaxe".

Voyez-vous où est mon (mes) erreur(s) et comment y remédier ?
Merci
 

Staple1600

XLDnaute Barbatruc
Re : VBA lien hypertexte dans une TextBox

Bonsoir à tous


A titre d'illustration ( à adapter et/ou tester)

Code:
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
el = "mailto:toto.titi@tata.fr"
ActiveWorkbook.FollowHyperlink Address:=el, NewWindow:=True
Unload Me
Exit Sub
End Sub

david84
PS
: Tu ne peux ajouter un Hyperlink que sur un objet Range (cf touche F1 ;) )
 

david84

XLDnaute Barbatruc
Re : VBA lien hypertexte dans une TextBox

Re
merci à tous pour vos réponses.
JM : sur le principe, cela peut me convenir mais le lien activé correspond à l'adresse spécifiée dans le code
Code:
Private Sub Mail_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
el = "mailto:toto.titi@tata.fr"
ActiveWorkbook.FollowHyperlink Address:=el, NewWindow:=True
Unload Me
Exit Sub
End Sub
Or moi je voudrais que ce soit l'adresse rentrée dans le TextBox qui soit prise en compte.
Code:
PS: Tu ne peux ajouter un Hyperlink que sur un objet Range (cf touche F1  )

Dois-je en déduire que ce n'est pas possible tel que demandé ?

pierrejean,
Code:
Je ne pense pas possible de mettre un hyperlien dans un USF
donc même conclusion...

La solution serait-elle de récupérer le contenu de la TextBox dans une cellule (donc un Range) et d'appliquer une formule =LienHypertext classique ?

Je continue de mon côté et vous tiens au courant.
Si vous avez d'autres pistes ou conseils n'hésitez pas.
Merci et A+
 

Staple1600

XLDnaute Barbatruc
Re : VBA lien hypertexte dans une TextBox

Re


david84

A titre d'illustration ( à adapter et/ou tester)
Cela veut dire pour moi que je te laisse à partir de ce point de départ
, tâtonner, essayer , adapter.

Je viens voir plus tard si tu as trouvé réponse à ta question.

Si non , alors je te propose ma version d'une résolution possible.


Tu ne vois pas comment adapter mon code précédent ?

Dois-je en déduire que ce n'est pas possible tel que demandé ?
Oui
 

Pierrot93

XLDnaute Barbatruc
Re : VBA lien hypertexte dans une TextBox

Bonsoir à tous,

pas tout compris... mais le code ci-dessous fonctionne chez moi à la sortie du "textbox" si adresse valide dans le "textbox" au moment de la sortie...;
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1 <> "" Then ActiveWorkbook.FollowHyperlink TextBox1.Value, , True
End Sub
bonne soirée
@+
 

david84

XLDnaute Barbatruc
Re : VBA lien hypertexte dans une TextBox

Re
Pierrot:)
cela ne donne apparemment pas le résultat escompté (je dis "apparemment" parce que cela peut être de ma faute:confused:).
JM:)
J'ai adapté comme cela et cela fonctionne:)
Code:
Private Sub Mail_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
el = "mailto:" & Mail.Value
ActiveWorkbook.FollowHyperlink Address:=el, NewWindow:=True
Unload Me
Exit Sub
End Sub
Est-ce à quoi tu pensais ?
A+
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : VBA lien hypertexte dans une TextBox

Re
HTML:
Mais je verrais plus passer par un label...
Je ne vois pas ce que c'est. Je connais le contrôle label qui permet de placer un intitulé sur un USF mais je pense que tu parles d'autre chose...

En attendant, je l'ai associé à un bouton de commande :
Code:
Private Sub Envoi_Mail_Click()
If Mail.Value = "-" Then Exit Sub
el = "mailto:" & Mail.Value
ActiveWorkbook.FollowHyperlink Address:=el, NewWindow:=True
Unload Me
Exit Sub
End Sub
A+
 

JNP

XLDnaute Barbatruc
Re : VBA lien hypertexte dans une TextBox

Bonsoir le fil :),
Ah, les jeunes, toujours pressés :p...
Je répondrais comme les petits camarades, pas de liens hypertexte dans les TextBox :D...
Mais tu peux lier à un clic droit l'utilisation du TextBox Mail pour un message unique, avec le clic-droit par exemple avec
Code:
Private Sub Mail_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then
'...
End If
End Sub
A + :cool:
 

david84

XLDnaute Barbatruc
Re : VBA lien hypertexte dans une TextBox

Re
Ah, les jeunes, toujours pressés
Ben, faut bien que je m'occupe:D !
Mais tu peux lier à un clic droit l'utilisation du TextBox Mail pour un message unique
C'est effectivement une possibilité mais j'aime bien aussi la liaison à un bouton de commande... bon de toutes façons, il sera toujours temps d'arrêter cela plus tard;).
A+
 

JNP

XLDnaute Barbatruc
Re : VBA lien hypertexte dans une TextBox

Salut David :),
Teste le petit USF en pièce jointe ;).
Balade ton mulot de gauche à droite au dessus du TextBox :p
Clic à gauche du TextBox, ou à droite :D...
C'est pas parfait, mais c'est dans l'idée :rolleyes:...
A + :cool:
 

Pièces jointes

  • Envoi mail.xlsm
    19.1 KB · Affichages: 364
  • Envoi mail.xlsm
    19.1 KB · Affichages: 337
  • Envoi mail.xlsm
    19.1 KB · Affichages: 402

Discussions similaires

Statistiques des forums

Discussions
312 249
Messages
2 086 602
Membres
103 258
dernier inscrit
kalis03