Line hypertexte adresse & objet simultanément

lplaf -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Présentement j'ai une liste de courriels en lien hypertexte. Je peux donc facilement cliquer sur le lien et envoyer rapidement un courriel. J'ai aussi ajouté dans la section objet un libellé que je souhaite retrouver en objet à chaque fois que j'envoie un courriel.

Mon problème c'est que le texte qui figure dans la section objet peut être appelé à changer et j'aimerais que les utilisateurs du fichier n'ait pas à aller modifier le texte dans «modification de l'hyperlien». J'aimerais que l'objet du courriel représente le texte qui figure dans une cellule de mon fichier excel.

Exemple présentement :
Adresse de messagerie : ***@***
Objet : Exemple

Ce que je voudrais
Adresse de messagerie : ***@***
Objet : Texte de la cellule A1

Dans ces exemples, l'adresse ***@*** est déjà en lien hypertexte !

Que faire !!
A voir également:

2 réponses

Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Je crains qu'il ne te faille passer par VBA ...
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

Comme te l'a dit Raymond, que je salue, il faut passer par un code en vba.

Faire Alt F11 pour accéder à l'éditeur. ensuite sélectionner la feuille concernée en haut à gauche.
Dans cet exemple tous les liens sont dans la colonne A, il suffit avant de faire un clic gauche sur le lien, de faire un clic droit pour changer l'Objet du mail qui se trouve en A1:

Option Explicit
Dim adressemail, val As String
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
adressemail = Target.Value
extractionMots
adressemail = Replace(adressemail, val, Range("A1"))
Target.Value = adressemail
Selection.Hyperlinks(1).Address = adressemail
End If
End Sub
'Extraire les données séparées par un = dans une chaine de caractères
Sub extractionMots()
    Dim Tableau() As String
    Dim i As Integer
    On Error Resume Next
    'découpe la chaine en fonction des  "="
    'le résultat de la fonction Split est stocké dans un tableau
    Tableau = Split(adressemail, "=")
    
    'boucle sur le tableau pour visualiser le résultat
    For i = 0 To UBound(Tableau)
        'Le résultat s'affiche dans la fenêtre d'execution de l'éditeur de macros
        Debug.Print Tableau(i)
    Next i
    val = Tableau(1)
End Sub



0