Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

création de lien hypertexte mailto

4 réponses
Avatar
Damien Kergosien
Bonjour

J'essaie d'ajouter un lien hypertexte mailto dans une cellule qui
contient une adresse mail.

J'utilise

ThisWorkbook.Sheets("Aide").Select
ThisWorkbook.Sheets("Aide").Range("c3").Select

Selection.Hyperlinks(1).Address = "maillto:" & ActiveCell.Value
Selection.Hyperlinks(1).TextToDisplay = ActiveCell.Value


mais j'ai toujours le texte suivant dans ma cellule
file:///C:\documents and settings\Damien\mes
documents\mailto:d.kergosien@xxx.fr
Si je crée manuellement, c'est bon et l'enregistreur de macro me donne
la syntaxe suivante

L'enregistreur de macro me donne
' Range("C3").Select
' Selection.Hyperlinks(1).Address = "mailto:d.kergosien@xxx.fr"

Quelqu'un aurait-il une solution ?
Merci d'avance
Damien

4 réponses

Avatar
MichDenis
issu du site internet : http://dj.joss.free.fr/web.htm

'------------------------
Sub EnvoiUnMail()
Dim MailAd As String 'Adresse
Dim Msg As String ' Message
Dim Subj As String ' Sujet du courriel
Dim URLto As String
MailAd = Range("d1") Subj = Range("d2")
Msg = Msg & Range("d3")
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End Sub
'------------------------
Avatar
Damien Kergosien
Bonjour MichDenis

merci pour ta réponse.
Ca fait quelques heures que je cherche partout (forums, internet).
Partout je vois la syntaxe que j'ai donnée et j'ai testé avec 2 version
d'excel, pas moyen de faire fonctionner.
Quand je vais manuellement modifier, le type sélectionné est fichier.
Si je sélectionne adresse mail, tout revient bon.
Mais l'enregistreur de macros ne renvoie rien pour cette manip.
J'aurais bien aimé comprendre.

Mais c'est vrai que j'aurai plus vite fait d'ajouter un bouton à côté
de l'adresse, d'autant qu'envoyer des mails avec ou sans pièce jointe,
je sais faire.

Bonne journée
Damien

issu du site internet : http://dj.joss.free.fr/web.htm

'------------------------
Sub EnvoiUnMail()
Dim MailAd As String 'Adresse
Dim Msg As String ' Message
Dim Subj As String ' Sujet du courriel
Dim URLto As String
MailAd = Range("d1") Subj = Range("d2")
Msg = Msg & Range("d3")
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End Sub
'------------------------


Avatar
MichDenis
suppose que tu as un texte dans la cellule A1 de ta feuil1
qui contient déjà un lien hypertexte

Si tu désires modifier ce lien pour une autre adresse :
Ouvrir une nouvelle adresse internet ou un lien avec un nouveau fichier
la ligne de code est la suivante

Worksheets("Feuil1").Range("A1").Hyperlinks(1).Address = "http://www.microsoft.com/"
'OU
Worksheets("Feuil1").Range("A1").Hyperlinks(1).Address = "C:Classeur1.xls/"

Si tu fais manuellement, tu fais un clic droit sur ta cellule contenant un lien hypertexte
et tu appelles la commande "modifier le lien hypertexte". Si tu enregistres les opérations
tu obtiendras la ligne de code mentionnée avec l'enregistreur de macro.

Si problème, tu peux consulter là : http://support.microsoft.com/kb/916858





"Damien Kergosien" a écrit dans le message de news:

Bonjour MichDenis

merci pour ta réponse.
Ca fait quelques heures que je cherche partout (forums, internet).
Partout je vois la syntaxe que j'ai donnée et j'ai testé avec 2 version
d'excel, pas moyen de faire fonctionner.
Quand je vais manuellement modifier, le type sélectionné est fichier.
Si je sélectionne adresse mail, tout revient bon.
Mais l'enregistreur de macros ne renvoie rien pour cette manip.
J'aurais bien aimé comprendre.

Mais c'est vrai que j'aurai plus vite fait d'ajouter un bouton à côté
de l'adresse, d'autant qu'envoyer des mails avec ou sans pièce jointe,
je sais faire.

Bonne journée
Damien

issu du site internet : http://dj.joss.free.fr/web.htm

'------------------------
Sub EnvoiUnMail()
Dim MailAd As String 'Adresse
Dim Msg As String ' Message
Dim Subj As String ' Sujet du courriel
Dim URLto As String
MailAd = Range("d1") Subj = Range("d2")
Msg = Msg & Range("d3")
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End Sub
'------------------------


Avatar
Damien Kergosien
Bonjour MichDenis

merci pour ta réponse mais ça ne résoud pas le problème

Je fais bien
Worksheets("Feuil1").Range("A1").Hyperlinks(1).Address "mailto:"
Si je lis la propriété Address, j'ai bien "mailto:"
Dans un classeur vierge, ça marche.
Dans le classeur sur lequel je travaille, je détruis le lien avant de
le recréer et il me reconsidère le lien comme un lien fichier donc il
ajoute automatiquement un chemin avant "mailto:"

mais je laisse tomber si je n'ai pas d'autre info. Je vais faire un
bouton pour l'envoi du mail.

suppose que tu as un texte dans la cellule A1 de ta feuil1
qui contient déjà un lien hypertexte

Si tu désires modifier ce lien pour une autre adresse :
Ouvrir une nouvelle adresse internet ou un lien avec un nouveau fichier
la ligne de code est la suivante

Worksheets("Feuil1").Range("A1").Hyperlinks(1).Address =
"http://www.microsoft.com/" 'OU
Worksheets("Feuil1").Range("A1").Hyperlinks(1).Address = "C:Classeur1.xls/"

Si tu fais manuellement, tu fais un clic droit sur ta cellule contenant un
lien hypertexte et tu appelles la commande "modifier le lien hypertexte". Si
tu enregistres les opérations tu obtiendras la ligne de code mentionnée avec
l'enregistreur de macro.

Si problème, tu peux consulter là : http://support.microsoft.com/kb/916858





"Damien Kergosien" a écrit dans le message de news:

Bonjour MichDenis

merci pour ta réponse.
Ca fait quelques heures que je cherche partout (forums, internet).
Partout je vois la syntaxe que j'ai donnée et j'ai testé avec 2 version
d'excel, pas moyen de faire fonctionner.
Quand je vais manuellement modifier, le type sélectionné est fichier.
Si je sélectionne adresse mail, tout revient bon.
Mais l'enregistreur de macros ne renvoie rien pour cette manip.
J'aurais bien aimé comprendre.

Mais c'est vrai que j'aurai plus vite fait d'ajouter un bouton à côté
de l'adresse, d'autant qu'envoyer des mails avec ou sans pièce jointe,
je sais faire.

Bonne journée
Damien

issu du site internet : http://dj.joss.free.fr/web.htm

'------------------------
Sub EnvoiUnMail()
Dim MailAd As String 'Adresse
Dim Msg As String ' Message
Dim Subj As String ' Sujet du courriel
Dim URLto As String
MailAd = Range("d1") Subj = Range("d2")
Msg = Msg & Range("d3")
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End Sub
'------------------------