Transformer une adresse mail au format texte en lien hypertexte

  • Initiateur de la discussion Initiateur de la discussion ivan27
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ivan27

XLDnaute Occasionnel
Re bonsoir le forum,

Je vous communique en pièce jointe un classeur dans lequel les champs de la feuille "BASE" sont formatés en VBA à chaque modification.
Je n'arrive pas formater le champ mail.
Chacune de mes tentatives se soldent par une boucle que je dois échapper et je ne trouve pas mon erreur...
Merci d'avance pour votre aide.
Bien cordialement et bon match

Ivan
 

Pièces jointes

Re : Transformer une adresse mail au format texte en lien hypertexte

Bonjour, ivan27, le Forum,

Peut-être ainsi :

Code:
Sub Mail_adresse_activer()
    Dim i As Long
    Sheets("BASE").Activate
    For i = 2 To Cells(Rows.Count, 12).End(xlUp).Row
        If Cells(i, 12) <> "" Then Cells(i, 12).Hyperlinks.Add Cells(i, 12), "mailto:" & Cells(i, 12)
    Next
End Sub

A bientôt 🙂
 
Re : Transformer une adresse mail au format texte en lien hypertexte

Bonjour DoubleZero, Theze, le forum,

J'ai testé vos 2 propositions.
DoubleZero, lorsque un hyperlink est déjà présent dans la cellule, le texte se transforme en des répétitions du mot "mailto".
Theze, j'ai corrigé selon ta proposition.
Dans les 2 cas, la boucle ne s'arrête pas, je suis obligé d'échapper pour sortir de la procédure.
Bien cordialement et bonne journée.

Ivan
 
Re : Transformer une adresse mail au format texte en lien hypertexte

Re-bonjour, bonjour, Theze,

... lorsque un hyperlink est déjà présent dans la cellule, le texte se transforme en des répétitions du mot "mailto"...

Ajout d'une condition dans le code suivant :

Code:
Sub Mail_adresse_activer()
    Dim i As Long
    Sheets("BASE").Activate
    For i = 2 To Cells(Rows.Count, 12).End(xlUp).Row
        If Cells(i, 12) <> "" And Cells(i, 12).Hyperlinks.Count = 0 Then Cells(i, 12).Hyperlinks.Add Cells(i, 12), "mailto:" & Cells(i, 12)
    Next
End Sub

A bientôt 🙂
 
Re : Transformer une adresse mail au format texte en lien hypertexte

Bonjour Theze, DoubleZero, le forum,

Merci pour vos réponses.
Pour info, j'ai réglé le problème de boucle dont je n'arrivais pas à sortir, en encadrant ma procédure avec Application.EnableEvents. C'est l'évènement Change qui posait problème.
Code:
Application.EnableEvents = False
...
Application.EnableEvents = True
Bien cordialement,
Ivan
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour